Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Вниз

Окно с кнопкой на WinAPI   Найти похожие ветки 

 
DelphiSchueler ©   (2006-03-22 13:01) [0]

Проблема состоит в том, что я хочу создать форму с кнопкой на WIN API, ну вот только кнопку у меня можно за рамки формы вытягивать и Title Bar  у неё есть, какие Флаги для dwStyle надо в CretaeWindow вставить, что бы она на нормальную кнопку похожа была?
Зарание благодарен
З.Ы. Вот исходник если что:

program SmallPrg;

{$APPTYPE CONSOLE}

uses
 Windows,
 Messages,
 Dialogs;

const WinName="MainWClass";

function WinProc(Window: HWND;AMessage,WParam,LParam: longint): longint; stdcall; export;
begin
 case AMessage of
   WM_DESTROY: begin
                 PostQuitMessage(0);
                 Exit;
               end;
   wm_LButtonDown: ShowMessage("Sie haben linke MausTaste gedruckt");
 else
   Result:= DefWindowProc(Window,AMessage,WParam,LParam);
 end;
end;

function WClass: Boolean;
var wnd: TWndClass;
begin
 wnd.style:= CS_HREDRAW and CS_VREDRAW;
 wnd.lpfnWndProc:= @WinProc;;
 wnd.cbClsExtra:= 0;
 wnd.cbWndExtra:= 0;
 wnd.hInstance:= hInstance;
 wnd.hIcon:= LoadIcon(0, IDI_APPLICATION);
 wnd.hCursor:= LoadCursor(0, IDC_ARROW);
 wnd.hbrBackground:= COLOR_BACKGROUND;
 wnd.lpszMenuName:= nil;
 wnd.lpszClassName:= PChar(WinName);
 result:= RegisterClass(wnd)<>0;
end;

function Start: HWND;
begin
 Result:= CreateWindow(PChar(WinName),"SmallPrg",WS_OVERLAPPEDWINDOW and (not WS_SIZEBOX),200,400,200,200,0,0,hInstance,nil);
end;

var Win, Button: HWND;
   AMessage: msg;
begin
 writeln("Das Programm wurde erfolgreich ausgefuhrt...");
 WClass;
 Win := Start;
 ShowWindow(Win, SW_SHOWNORMAL);
 UpdateWindow(Win);
////////////////////////////////////////////////////////////////////////////////
 Button:= CreateWindow("BUTTON","Кнопка", WS_CHILD and BS_PUSHLIKE,250,450,10,90,Win,0,hInstance,nil);
 ShowWindow(Button, CmdShow);
 UpdateWindow(Button);
////////////////////////////////////////////////////////////////////////////////
 while (GetMessage(AMessage,0,0,0)) do
   begin
     TranslateMessage(AMessage);
     DispatchMessage(AMessage);
   end;
 Halt(AMessage.wParam);
end.


 
clickmaker ©   (2006-03-22 13:26) [1]

BS_PUSHBUTTON Or WS_CHILD
не надо стили объединять and"ом


 
grisme ©   (2006-03-22 15:12) [2]

AND-это логическое УМНОЖЕНИЕ, а не сложение...)))


 
DelphiSchueler ©   (2006-03-22 16:52) [3]

Пасибо большое!!!!!!!!!!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.013 c
15-1148392592
vidiv
2006-05-23 17:56
2006.06.18
как перехватит буфер обмена при вставки в richedit


2-1148571234
Golik
2006-05-25 19:33
2006.06.18
Как сжать exe-шник


2-1148942125
alec_sey
2006-05-30 02:35
2006.06.18
Массивы


15-1148429089
_Hawk_
2006-05-24 04:04
2006.06.18
Шпион aka Trainer Spy


2-1149154940
De
2006-06-01 13:42
2006.06.18
Почему не компелиться?





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