Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

Окно с кнопкой на 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 вся ветка

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1147874944
flad
2006-05-17 18:09
2006.06.18
как задать в командной строке "Wordpad file.txt" то что


9-1131338381
JUS
2005-11-07 07:39
2006.06.18
DXWaveList1 : DelphiX


1-1147112151
Fl@sh
2006-05-08 22:15
2006.06.18
из query в TMemorySream и обратно


10-1120807425
L_Vic
2005-07-08 11:23
2006.06.18
Не могу получить в Delphi методы листа Excel


9-1130206311
JUS
2005-10-25 06:11
2006.06.18
Зацените мою демку