mcrblog

vcpp-ml

2002年11月

30

[vcpp 00059952] RE: コンボボックス特定 Item の色変更

 渋木です。

 最初の投稿に

>題記、コンボボックスのリストの特定項目(Itemと呼んで
>いいかな・・・?)の色を変更したいと考えております。
>(環境:WinNT4.0, MSVC++5.0)

 とあったので念のため。。。

> >どこかでオーナドローしているコードがあるはずです。
> >そこでこのItemData を背景色と見ているのでしょう。
> 矢張り・・・。>どこかでItemData を背景色と見ている

 誰かが書いたプログラムのメンテではなく新規のプロジェクトなら、そのコー
ドはあなたが書いて組み込まない限りそのコードは存在しませんよ?

 SetImteDate() の機能は、あなたの想像通り

>この場合は上から2行目のItemに8と
>いう数字が割り当てられただけな気がしているので・・・。

 でしかありません。

 あなたが追加した「オーナードロー」のコード中に、「SetItemData() で設定
された色で背景色を塗りつぶす」処理を記述するのです。


--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@mbi.nifty.com
// http://www.hidori.jp/
//
30

[vcpp 00059950] Re: コンボボックス特定 Itemの色変更

Tietewさん、レス有難う御座います。

>どこかでオーナドローしているコードがあるはずです。
>そこでこのItemData を背景色と見ているのでしょう。
矢張り・・・。>どこかでItemData を背景色と見ている

>cf. OnDrawItem / WM_DRAWITEM
「オーナドロー」「OnDrawItem」「WM_DRAWITEM」を
キーワードに、調べてみます。


御教示、有難うございました。
乱文失礼。



__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/
30

[vcpp 00059950] Re: コンボボックス特定 Itemの色変更

Tietewさん、レス有難う御座います。

>どこかでオーナドローしているコードがあるはずです。
>そこでこのItemData を背景色と見ているのでしょう。
矢張り・・・。>どこかでItemData を背景色と見ている

>cf. OnDrawItem / WM_DRAWITEM
「オーナドロー」「OnDrawItem」「WM_DRAWITEM」を
キーワードに、調べてみます。


御教示、有難うございました。
乱文失礼。



__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/
29

[vcpp 00059949] Re: SDIでのAfxBeginThread

PTVIです。

> SDIを使ったツールを作成しています。
> 画面はHIDEで表示無しでコンソールアプリのような動作を求められてい
> ます。
>
> Threadを作成して実処理を行いSDIは只のフレームの役目しかしていま
> せん。
>
> ところがCMainFrameのOnCreate()でAfxBeginThreadを行ったところVC++
> プロジェクト上(デバック)では正常に動作するのですが
> EXEをクリックして起動するとThreadが動かないので
> AppクラスInitinstance()で行うと起動後直ぐにアプリケーションが終
> 了したりうまく動かすことが出来ません
>
> AfxBeginThread(Thr_proc,GetSafeHwnd(),THRAED_PRIORITY_NORMAL);
> としています。
>
> SDIの場合は何処でThread起動が望ましいのでしょうか
> 場所の問題では無く別問題でしょうか

あなたが、終了してしまうように作っていなければ、
通常のSDIと同じようにウィンドウが出て
アプリケーションがすぐに終了してしまうことはないはずですけど。

> 画面はHIDEで表示無しで

画面を作らずにAppクラスInitinstance()でリターンしているの??
それならどこに書いてもアプリケーションは終了してしまでしょう。

確かめたことはないけど、セカンダリスレッドが動いていても
プライマリスレッドが終了すればプロセスが終了するはず。
29

[vcpp 00059949] Re: SDIでのAfxBeginThread

PTVIです。

> SDIを使ったツールを作成しています。
> 画面はHIDEで表示無しでコンソールアプリのような動作を求められてい
> ます。
>
> Threadを作成して実処理を行いSDIは只のフレームの役目しかしていま
> せん。
>
> ところがCMainFrameのOnCreate()でAfxBeginThreadを行ったところVC++
> プロジェクト上(デバック)では正常に動作するのですが
> EXEをクリックして起動するとThreadが動かないので
> AppクラスInitinstance()で行うと起動後直ぐにアプリケーションが終
> 了したりうまく動かすことが出来ません
>
> AfxBeginThread(Thr_proc,GetSafeHwnd(),THRAED_PRIORITY_NORMAL);
> としています。
>
> SDIの場合は何処でThread起動が望ましいのでしょうか
> 場所の問題では無く別問題でしょうか

あなたが、終了してしまうように作っていなければ、
通常のSDIと同じようにウィンドウが出て
アプリケーションがすぐに終了してしまうことはないはずですけど。

> 画面はHIDEで表示無しで

画面を作らずにAppクラスInitinstance()でリターンしているの??
それならどこに書いてもアプリケーションは終了してしまでしょう。

確かめたことはないけど、セカンダリスレッドが動いていても
プライマリスレッドが終了すればプロセスが終了するはず。
記事検索
Amazon.co.jp
  • ライブドアブログ