[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/09/07(Thu) 17:24
投稿者名:ひで
Eメール:
URL :
タイトル:
Windiwsスタイルの取得方法について
ご存じの方ご教示願います。

現在選択されているWindowsスタイル(クラッシック等)を知りたいのですが、方法がわかりません。

教えて頂けないでしょうか?

投稿時間:2006/09/07(Thu) 18:44
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Windiwsスタイルの取得方法について
お試し下さい。

Option Explicit
Private Declare Function IsThemeActive Lib "uxtheme.dll" () As Boolean
Private Sub Command1_Click()
    If IsThemeActive Then
        MsgBox "WindowsXP スタイルです"
    Else
        MsgBox "クラシック スタイルです"
    End If
End Sub

# 質問しておきながら返事が無いのはどうでもよい質問だったのでしょうか?
 すぐに返事ができないなら、質問した時にその旨記入して下さい。
 回答者は、結果がどうだったか? 再質問なりが投稿されていないかと、何度となく
 チェックをしているのですよ。
  http://hanatyan.sakura.ne.jp/hazimeni.htm#no4

 

投稿時間:2006/09/08(Fri) 16:47
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^2: Windiwsスタイルの取得方法について
花ちゃんさん有り難うございます。並びに返事が遅くなって申し訳ありません。

昨日別件でトラブルが発生しておりまして・・・

明日の朝までの対応を要するもので昨日から対応作業におわれております。

日曜日にご教示頂きました内容参考にさせて頂きます。

申し訳ありませんでした。

投稿時間:2006/09/10(Sun) 14:32
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^2: Windiwsスタイルの取得方法について
> Option Explicit
> Private Declare Function IsThemeActive Lib "uxtheme.dll" () As Boolean
> Private Sub Command1_Click()
>     If IsThemeActive Then
>         MsgBox "WindowsXP スタイルです"
>     Else
>         MsgBox "クラシック スタイルです"
>     End If
> End Sub
>
上記の方法を実行してみたのですが、Windows2000の場合正しく動作しません。

私の使い方が悪いのかもしれませんが・・・

もう少し調べてみます。

投稿時間:2006/09/10(Sun) 15:53
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Windiwsスタイルの取得方法について
> 上記の方法を実行してみたのですが、Windows2000の場合正しく動作しません。

私は、Windows2000 を使った事がないので詳しくは知りませんが、Windows2000 って
クラシックスタイルだけで、WindowsXP スタイルは、WindowsXP 以降じゃなかったのですか?

何か特別な事をしているなら、使用環境等を明記し、詳しい状況を投稿して下さい。

投稿時間:2006/09/10(Sun) 16:16
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^4: Windiwsスタイルの取得方法について
> 何か特別な事をしているなら、使用環境等を明記し、詳しい状況を投稿して下さい。
どうもありがとうございます。

Win2000とXP共通で動作するプログラムを作成しているのですが、XPでスタイルをXPの
スタンダード選択時にラベル等フォームに貼り付けた部品が少しずれてしまいます。
おそらくXPのスタンダードで立体的に見せるために、Win2000&XPクラシックと少し違う位置に
配置されているみたいです。

そこで、OSがWindowsXPでかつスタイルがXPのスタンダードを選択されているかどうかを
調べるロジックを作りたいのですが・・・

ややこしくて申し訳ありません。

投稿時間:2006/09/10(Sun) 16:29
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: Windiwsスタイルの取得方法について
だったら、OS がwin2000 なら態々関数を実行する必要がないのでは。

スタイルの問題よりも下記が原因では。
http://www.microsoft.com/japan/msdn/windows/windowsxp/FixedPitchFont.asp

投稿時間:2006/09/10(Sun) 17:04
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^6: Windiwsスタイルの取得方法について
> だったら、OS がwin2000 なら態々関数を実行する必要がないのでは。
今、OSのバージョンを取得しXPの場合のみNo.7175で教えていただいた内容で処理しようと
考えております。

>
> スタイルの問題よりも下記が原因では。
> http://www.microsoft.com/japan/msdn/windows/windowsxp/FixedPitchFont.asp
当方の場合XPをクラシックスタイルで使用すると問題がないのですが・・・。
これも同じ意味なのでしょうか?

OSのバージョンを取得し、XPの場合のみNo.7175でご教示いただいた内容でスタイルを
取得するような形で処理したいと思います。

色々とありがとうございました。

投稿時間:2006/09/11(Mon) 15:29
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^2: Windiwsスタイルの取得方法について
> お試し下さい。
>
> Option Explicit
> Private Declare Function IsThemeActive Lib "uxtheme.dll" () As Boolean
> Private Sub Command1_Click()
>     If IsThemeActive Then
>         MsgBox "WindowsXP スタイルです"
>     Else
>         MsgBox "クラシック スタイルです"
>     End If
> End Sub
>
花ちゃんさんいつもお世話になっております。
上記の方法で実行したのですが、XPでも一部のパソコンで
下記のエラーが出ました。

実行時エラー'429':
ActiveXコンポーネントはオブジェクトを作成できません。

正常に動作したPCは 
WindowsXP Home Visual Stadio6.0インストール済み

正常に動作しなかったPCは 
WindowsXP Proです。

インストール方法はディストリビューションウィザードで
セットアップを作成しインストールを実行しました。
インストール時に
uxtheme.dllで登録中にエラーが発生しました。
と言うメッセージが出力されます。
これを無視を選択しインストールを完了させたのですが・・・
これが原因なのでしょうか?

何かお気づきの点がありましたらご教示ねがえないでしょうか?
宜しくお願いします。

投稿時間:2006/09/11(Mon) 15:33
投稿者名:ひで
Eメール:
URL :
タイトル:
Re^3: Windiwsスタイルの取得方法について
花ちゃんさんすみません No.7206のエラーは別の要因のようです。

申し訳ありませんでした。