

<http://wisdom.sakura.ne.jp/system/winapi/win32/win85.html>  
上記のサンプルで二番目のリソースがエラーになる。

[code]

    /*リソーススクリプト*/
    KITTY DIALOG 10 , 10 , 100 , 50
    FONT 12 , "ＭＳ ゴシック"
    CAPTION "Magical nyan nyan TARUTO" {
    LTEXT "終了します\nよろしいですか？" , -1 , 5 , 5 , 90 , 20
    PUSHBUTTON "OK" , IDOK , 40 , 35 , 20 , 10
    PUSHBUTTON "Cancel" , IDCANCEL , 65 , 35 , 30 , 10
    }
    
[/code]

上記の6行目のPUSHBUTTONでsynatx errorになります。また、これに付いては、`#include "resource.h"`で
`#define IDOK 1001` の様にすると取り敢えずは動きますが。今度は、OKボタンを押してもIDOKを認識して来れません。

なお、これに関しては7行目の"Cancel"に付いてもsyntax errorになります。何が悪いのでしょうか。

済みません。悪い個所と正しい記述を回答願います。  
宜しくお願いします。


CC BY-SA 3.0
2016-03-23T13:55:36.887
23396
2016-03-24T07:42:10.643
2016-03-24T07:42:10.643
49
14909
question
windows gcc
windows7 mingw windresでsyntax errorになる、修正個所を教えて下さい。


> `#include "resource.h"`で `#define IDOK 1001`の様にすると取り敢えずは動きますが。

Windows
SDKでは`IDOK`は`1`に、`IDCANCEL`は`2`に予約されています。これらの定数を手動で`#define`しても誤りではありませんが、SDKが提供するヘッダファイル`winres.h`を`#include`した方がよいです。

> 今度は、OKボタンを押してもIDOKを認識して来れません。

リソース上でOKボタンに割り当てたID（あなたのコードでは`1001`）と、WindowsがOKボタンに期待するID（前述した`1`）が不一致になっているためです。


CC BY-SA 3.0
2016-03-24T07:40:16.430
23413
2016-03-24T07:40:16.430
49
23396
answer