Форум: "WinAPI";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
ВнизCreateDialog Найти похожие ветки
← →
Ev_genus (2002-10-20 18:41) [0]Покажите как стандартными средствами WinAPI, не делая самому окно, кнопки и т.д., создать нестандартный диалог. Подойдёт любой примерчик. Поменяйте хотя бы цвет фона, что б я увидел структуру действий.
Заранее спасибо.
← →
apay (2002-10-21 03:18) [1]1. используй что-то типа ResourceWorkshop,
2. пример, правда на C: GIZMOBAR.C в win32 sdk help
← →
Rouse_ (2002-10-21 03:48) [2]Вот тебе примерчик
1020.RC
CUT HERE =======================================================
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
10 DIALOGEX 0, 0, 130, 60
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE |
WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOPMOST
CAPTION "Test ComboBox Application"
FONT 8, "Helv", 0, 0
BEGIN
PUSHBUTTON "Close", 100 ,71,38,53,15
PUSHBUTTON "Add string", 105 ,5,38,53,15
LTEXT "Add string to ComboBox:",IDC_STATIC,7,7,107,10
END
CUT HERE ===================================================
MainProgram.dpr
CUT HERE ===================================================
program MainProgram1;
{$R "1020.res" "1020.rc"}
uses
Windows,
Messages;
var
_Msg : TMsg;
hwnd, combo : Integer;
function WndFunc(Wnd, Msg: DWord; wParam, lParam: integer): integer; stdcall;
var s:String;
i:Integer;
begin
case msg of
wm_destroy :
Begin
postquitmessage(0);
exit;
Result:=0;
End;
WM_QUIT :
Begin
postquitmessage(0);
exit;
Result:=0;
End;
wm_command :
Begin
case loword(wParam) of
100 : //Клик по кнопке закрытия
case hiWord(wParam) of
BN_CLICKED :
Begin
postquitmessage(0);
exit;
Result:=0;
End;
end;
105 : //Клик по кнопке добавления текста
case hiWord(wParam) of
BN_CLICKED :
Begin
s:="Test string"; //Добавляем исполльзуя НЭНДЛ!!! комбобокса
SendMessage(combo,CB_ADDSTRING ,0,Longint(@s[1]));
End;
end;
200: //Ловим сообщение на ID !!! комбобокса
case hiWord(wParam) of
CBN_DROPDOWN : //Список раскрылся
begin
Result := 0;
end;
CBN_SELCHANGE : //Выбран определенный пункт
begin
Result := 0;
end;
end;
end;
end;
end;
Result := 0
end;
begin
hwnd := CreateDialog(hInstance,MAKEINTRESOURCE(10),0,@WndFunc);
combo := CreateWindow("COMBOBOX", "", CBS_DROPDOWN or WS_CHILD or WS_VISIBLE,7, 25, 180, 54, hwnd, 200, hInstance, NiL);
//combo - это его хэндл при помощи него мы работает с комбо //200 - Это его ID на него приходят сообщения
while GetMessage(_Msg, 0, 0, 0) do
begin
TranslateMessage(_Msg);
DispatchMessage(_Msg);
end;
end.
CUT HERE ===================================================
Писал кк пример для кого-то
Желаю успехов
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c