Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
15-1148292897
deltav1
2006-05-22 14:14
2006.06.18
Симулятор економики на Delphi


1-1147178742
yahaha
2006-05-09 16:45
2006.06.18
"Внутренние" события


2-1149108787
Nonamers
2006-06-01 00:53
2006.06.18
ShellExecute


1-1147193381
allrussia
2006-05-09 20:49
2006.06.18
Преобразов. спецсимволов (&amp;#186; &amp;#239 ) в обычный текст (е, i)


10-1120548108
WG
2005-07-05 11:21
2006.06.18
Глюк при передаче данных в Excel, не опознает дату




   Наверх