複選框不會更改正在寫入文件的「use_Xml」變量的值。 這是我想的範圍問題,但我不知道如何去做。我是初學者。 這可能已經回答了很多次,但我不知道如何正確地提出問題並找到答案。我將同意重定向到相關問題。C++將變量值從一個代碼塊傳遞到另一個代碼塊
#include <stdio.h>
#include <windows.h>
...
string use_Xml = "1";
...
LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(...) {...}
LRESULT CALLBACK WinProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_MAIN_CHKBX_X:
{
UINT checkedX = IsDlgButtonChecked(hWnd, IDC_MAIN_CHKBX_X);
switch (checkedX)
{
case BST_CHECKED:
{
CheckDlgButton(hWnd, IDC_MAIN_CHKBX_X, BST_UNCHECKED);
SetWindowText(hWnd, TEXT("no"));
use_Xml = "0";
}
break;
case BST_UNCHECKED:
{
CheckDlgButton(hWnd, IDC_MAIN_CHKBX_X, BST_CHECKED);
SetWindowText(hWnd, TEXT("yes"));
use_Xml = "1";
}
break;
}
}
break;
case IDC_MAIN_BUTTON_S:
{
ofstream myfile ("foo.ini");
myfile << use_Xml << "\n";
myfile.close();
}
break;
}
break;
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}
在哪裏以及如何定義'use_Xml'? –
也有'use_Xml'作爲'string'似乎是一個值得懷疑的方法。爲什麼不有'bool'表示一個布爾值? – legends2k
'use_Xml'' string'或'bool'? – Balu