resource.h
win32、VC++2005で開発しております。
resource.h内の#defineで切ってあるIDの番号が重なっていたため
各コントロールの色を変更しようとすると同時に他のコントロールの色も変化してしまいました。
かなりのコントロール量だったのでExcelで開いて一気にインクリメントして再ロードするとコントロールの色が散らばってしまいました・・・
この方法はまずかったでしょうか?
色の変更は
case WM_CTLCOLORSTATIC :
i = GetWindowLong( (HWND)lParam, GWL_ID );
hdc = BeginPaint(hDlg, &ps);
if ( i == IDC_ICHI_S ) { //位置出し
SetTextColor( (HDC)wParam, RGB( 255, 255, 255 ) );
SetBkColor( (HDC)wParam, RGB( 0, 0, 255 ) );
return (LRESULT)CreateSolidBrush( RGB( 0, 0, 255 ));
}
if ( i == IDC_NIN_S ) { //任意(未知)の器械点セット
SetTextColor( (HDC)wParam, RGB( 255, 255, 255 ) );
SetBkColor( (HDC)wParam, RGB( 0, 128, 0 ) );
return (LRESULT)CreateSolidBrush( RGB( 0, 128, 0 ));
}
EndPaint(hDlg, &ps);
こんな感じでやってます。
resource.hのID名は変更してませんのでダイアログはちゃんと開きます。
resource.hの#defineの値は自動で割り振られたと思いますが、ダイアログ画面を複数書いて値が重複するのは変だと思いますがどうなんですか?
また、見やすいように各画面ごとにIDを束ねようとしてるのですが普通なことでしょうか?
プログラムコーディングの基準?常識?がよくわからないのでお願いします。
コントロールも膨大になってきて見ずらいです。
通常はどのように見やすくするのでしょうか?
プログラム初心者なので分かり易い指摘でお願いします。
お礼
確かに見れました。ありがとうございます。