Главная страница
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.094 c
2-1149108787
Nonamers
2006-06-01 00:53
2006.06.18
ShellExecute


15-1148249744
SkyRanger
2006-05-22 02:15
2006.06.18
Как извлечь из локального SVN номер релиза?


1-1147412552
Chaser
2006-05-12 09:42
2006.06.18
Отображение иконок в TreeView


2-1148768422
Галинка
2006-05-28 02:20
2006.06.18
Русский в проекте на Дельфи на нерусской системе


2-1149143758
RameS
2006-06-01 10:35
2006.06.18
вопрос по MDI