#include <windows.h>
#include "resource.h"
BOOL CALLBACK MainDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam);
HINSTANCE g_hInst;
HWND hDlgMain;
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
g_hInst=hInstance;
DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG1), HWND_DESKTOP, MainDlgProc);
return 0;
}
char Items[][15]={"Apple","Orange","Melon","Grape","Great", "Strawberry"};
BOOL CALLBACK MainDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
int i;
switch(iMessage)
{
case WM_INITDIALOG:
hDlgMain = hDlg;
for (i=0;i<sizeof(Items)/sizeof(Items[0]);i++)
SendDlgItemMessage(hDlg,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)Items[i]);
return TRUE;
// 리스트 박스에서 키보드 입력을 처리하게 끔 한다.
case WM_VKEYTOITEM:
// D 가 들어오면은
if (LOWORD(wParam) == 'D') {
// 현재 선택된 인덱스 값을 가져오고
i=SendDlgItemMessage(hDlg,IDC_LIST1,LB_GETCURSEL,0,0);
if (i != LB_ERR) {
// 지운다.
SendDlgItemMessage(hDlg,IDC_LIST1,LB_DELETESTRING,i,0);
// 그리고 리스트 박스에서 키보드 처리를 했다고 알린다.
return (BOOL)-2;
}
}
// D 가 아닐경우는 부모에게 메세지를 보낸다.
return (BOOL)-1;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
EndDialog(hDlgMain,0);
return TRUE;
}
return FALSE;
}
return FALSE;
}
#include "resource.h"
BOOL CALLBACK MainDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam);
HINSTANCE g_hInst;
HWND hDlgMain;
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
g_hInst=hInstance;
DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG1), HWND_DESKTOP, MainDlgProc);
return 0;
}
char Items[][15]={"Apple","Orange","Melon","Grape","Great", "Strawberry"};
BOOL CALLBACK MainDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
int i;
switch(iMessage)
{
case WM_INITDIALOG:
hDlgMain = hDlg;
for (i=0;i<sizeof(Items)/sizeof(Items[0]);i++)
SendDlgItemMessage(hDlg,IDC_LIST1,LB_ADDSTRING,0,(LPARAM)Items[i]);
return TRUE;
// 리스트 박스에서 키보드 입력을 처리하게 끔 한다.
case WM_VKEYTOITEM:
// D 가 들어오면은
if (LOWORD(wParam) == 'D') {
// 현재 선택된 인덱스 값을 가져오고
i=SendDlgItemMessage(hDlg,IDC_LIST1,LB_GETCURSEL,0,0);
if (i != LB_ERR) {
// 지운다.
SendDlgItemMessage(hDlg,IDC_LIST1,LB_DELETESTRING,i,0);
// 그리고 리스트 박스에서 키보드 처리를 했다고 알린다.
return (BOOL)-2;
}
}
// D 가 아닐경우는 부모에게 메세지를 보낸다.
return (BOOL)-1;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
EndDialog(hDlgMain,0);
return TRUE;
}
return FALSE;
}
return FALSE;
}
'Windows > Windows API' 카테고리의 다른 글
리스트 박스 통지 메세지 (0) | 2013.10.01 |
---|---|
리스트 박스 아이템 찾기 (SendDlgItemMessage, LB_FINDSTRING, LB_FINDSTRINGEXACT) (0) | 2013.10.01 |
텍스트박스에서 탭 먹히게 하기 (0) | 2013.10.01 |
리스트 박스 다중선택 (listbox) (0) | 2013.10.01 |
리스트 박스 추가, 삭제, 선택 (listbox) (0) | 2013.10.01 |