Главная страница
    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
4-4681
Akni
2002-10-22 00:19
2002.12.02
WndProc, WindowProc


3-4174
Тундра
2002-11-12 12:09
2002.12.02
Упаковка таблицы FoxPro


14-4592
Skier
2002-11-11 14:21
2002.12.02
Перевод с аглицкого...


6-4549
Max2000
2002-10-03 10:49
2002.12.02
Подскажите как обмануть провайдера????


14-4633
k-sergey
2002-11-13 15:10
2002.12.02
Помогите установить winshoes....





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский