Я хотел создать «развратитель» Word, который фактически просто заменяет некоторые буквы некоторым алфавитом ascii. Однако, при нажатии на кнопку «Создать», окно автоматически закрываетсяC Win32: Окно автоматически закрывается
static HANDLE ghInstance;
HWND hwndEDIT;
int index[10];
static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_INITDIALOG:
{
hwndEDIT = GetWindow(hwndDlg, IDC_EDIT);
return TRUE;
}
case WM_SIZE:
/*
* TODO: Add code to process resizing, when needed.
*/
return TRUE;
case WM_COMMAND:
switch (GET_WM_COMMAND_ID(wParam, lParam))
{
case IDC_GENERATE:
{
char input[1000];
char output[1000][10];
int i, strLength, m, map;
int rNmb;
int chance;
GetWindowText(hwndEDIT, input, 1000);
srand(time(NULL));
strLength = strlen(input);
for(m=0;m<10;m++)
{
map = 0;
strcpy(output[m], input);
for(i=0;i<strLength;i++)
{
switch(output[m][i])
{
case '\0':
continue;
case '\n':
continue;
case ' ':
continue;
}
chance = rand() % 100;
if(chance < 25)
{
rNmb = (rand() % 128) + 128;
output[m][i] = rNmb;
}
}
index[m] = SendDlgItemMessage(hwndDlg , IDC_LISTBOX, LB_ADDSTRING, 0, (LPARAM)output[m]);
map++;
SendDlgItemMessage(hwndDlg, IDC_LISTBOX, LB_SETITEMDATA, (WPARAM)index[m], (LPARAM)map);
}
}
case IDC_CLOSE:
EndDialog(hwndDlg, TRUE);
return TRUE;
}
break;
case WM_CLOSE:
EndDialog(hwndDlg, 0);
return TRUE;
/*
* TODO: Add more messages, when needed.
*/
}
return FALSE;
}
Я не вижу никакой связи между кнопкой генерации и команды закрытия
Дело 'IDC_GENERATE' попадает в корпус' IDC_CLOSE'. Блоки переключателей проваливаются, если вы явно не сломаете или не вернетесь. –
нет разрыва; после случая IDC_GENERATE: в результате вы выполняете регистр IDC_CLOSE: EndDialog (hwndDlg, TRUE); – RbMm
Эй, вы недавно [подняли запрос на улучшение этой части документации] (http://stackoverflow.com/documentation/improvement-requests/view/2256/7403). Поскольку невозможно отправлять комментарии или общаться с вами через интерфейс Docs, я злоупотребляю комментариями, чтобы сделать это здесь. Можете ли вы дать мне подсказку о том, что вы считаете неправильным с примером кода? В частности, каким образом это неясно или неполно? (У него явно нет проблем с форматированием.) Что еще вы хотели бы увидеть? Я рассмотрел представление, и это выглядит разумным для меня. Вы тестировали код и выяснили, что он не работает? –