Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-4439
jen_bond
2002-11-19 22:47
2002.12.02
Графические системы


1-4276
Павел
2002-11-21 10:16
2002.12.02
Символы


14-4563
Skier
2002-11-11 16:44
2002.12.02
Для Виктории...


14-4625
PVOzerski
2002-11-12 21:24
2002.12.02
Что выбрать? (ответ нужен в течение 12 ноября!)


1-4368
Карелин Артем
2002-11-22 09:41
2002.12.02
Быстрое копирование экрана. Часть II





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский