私はC++のWin32 APIを使って、具体的にはリソースファイルを書きながら実験しています。さて、私のプロジェクト全体はうまくいっていました、メニューとタイトルとすべて。しかし、私は.rcファイルにモーダルダイアログボックスのためにこのコードを追加する場合: なぜ私のGROUPBOX文にWindresが構文エラーを報告していますか?
IDD_ABOUT DIALOG DISCARDABLE 0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "&OK",IDOK,174,18,50,14
PUSHBUTTON "&Cancel",IDCANCEL,174,35,50,14
GROUPBOX "About this program...",IDC_STATIC,7,7,225,52
CTEXT "An example program showing how to use Dialog Boxes\r\n\r\nby theForger", IDC_STATIC,16,18,144,33
END
windresは、次のエラーで終了し
:GROUPBOX "About this program...",IDC_STATIC,7,7,225,52
:
windres: resource.rc:40: syntax error
ライン40が参照します
MSDN,
The GROUPBOX statement, which you can use only in a DIALOGEX statement, defines the text, identifier, dimensions, and attributes of a control window.
GROUPBOX text, id, x, y, width, height [, style [, extended-style]]
例:
GROUPBOX "Options", 101, 10, 10, 100, 100
私は間違っていますか?
IDC_STATICもwinuser.hで定義されています –
@KenB:そうではありません。これは通常、プロジェクト固有の 'resource.h'から取られる制御値です。 Windows Platform SDKの多数のサンプルプログラムを参照してください。 –
私はgrepを使い、winuser.hだけでなくafxres.hでも定義されていることを発見しました。 –