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

Вниз

Кнопка на TaskBar   Найти похожие ветки 

 
Sinka ©   (2006-04-11 10:58) [0]

Хочу скрыть кнопку на TaskBar, есть стандартный лёгкий пример
 ShowWindow(Application.Handle, sw_Hide);  
но в моем примере не подходит так как я отказывают от Application ради того чтобы мои формы были поверх других приложений, есть 2 варианта
1 скрыть кнопку другим способом
2 поставить приложение StayOnTop другим способом


 
Rouse_ ©   (2006-04-11 11:15) [1]

program Project8;

uses
 Windows,
 Messages;

resourcestring
 TXT_CAPTION = "Демо";  

const
 PBM_SETRANGE            = WM_USER + 1;
 PBM_SETPOS              = WM_USER + 2;
 WM_NOTIFY_THREAD_RESULT = WM_USER + 3;

var
 MainWindow    : TWndClassEx;
 RootHandle,
 Handle        : HWND;
 Msg           : TMsg;
 Left,
 Top,
 Width,
 Height        : Integer;

// Центрирование формы
// =============================================================================
procedure CenterMainForm;
var
 ScrWidth, ScrHeight: Cardinal;
begin
 ScrWidth := GetSystemMetrics(SM_CXSCREEN);
 ScrHeight := GetSystemMetrics(SM_CYSCREEN);
 Left := (Integer(ScrWidth) - Width) div 2;
 Top := (Integer(ScrHeight) - Height) div 2;
end;

// Главная оконная процедура
// =============================================================================
function WindowProc(Wnd: HWND; Msg: Integer;
 WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
begin
 Result := 0;
 case Msg of
   WM_DESTROY:
   begin
     PostQuitMessage(0);
     Result:=0;
   end;
 else
   Result := DefWindowProc(Wnd, Msg, WParam, LParam);
 end;
end;

// Здесь программа стартует
// =============================================================================
begin
 with MainWindow do
 begin
   cbSize := SizeOf(MainWindow);
   style := CS_HREDRAW or CS_VREDRAW;
   lpfnWndProc := @WindowProc;
   cbClsExtra := 0;
   cbWndExtra := 0;
   hIcon := LoadIcon(0, IDI_APPLICATION);
   hCursor  := LoadCursor(0, IDC_ARROW);
   hbrBackground := COLOR_BTNFACE + 1;
   lpszMenuName := nil;
   lpszClassName := "Demo";
 end;
 MainWindow.hInstance := HInstance;
 if RegisterClassEx(MainWindow) = 0 then
 begin
   Exit;
 end;
 
 Width := 360;
 Height := 200;
 CenterMainForm;
 RootHandle := CreateWindowEx(0, "Demo",
   PChar(TXT_CAPTION), WS_OVERLAPPED or WS_SYSMENU,
   Left, Top, Width, Height, 0, 0, HInstance, nil);
 ShowWindow(Handle, SW_HIDE);

 Handle := CreateWindowEx(0, "Demo",
   PChar(TXT_CAPTION), WS_OVERLAPPED or WS_SYSMENU,
   Left, Top, Width, Height, RootHandle, 0, HInstance, nil);

 ShowWindow(Handle, SW_SHOW);
 SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
   SWP_NOSIZE or SWP_NOMOVE);

 while GetMessage(Msg, 0, 0, 0) do
 begin
   TranslateMessage(Msg);
   DispatchMessage(Msg);
 end;
 
end.



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1144324054
barakuda
2006-04-06 15:47
2006.04.23
Полосатый


15-1143617296
Kerk
2006-03-29 11:28
2006.04.23
[Юзабилити] Формы создания/настройки


2-1144314324
Cneltyn
2006-04-06 13:05
2006.04.23
Как вывести в Имидж содержимое другого Ммиджа в опр-ые координаты


15-1143065792
XeON
2006-03-23 01:16
2006.04.23
Немного C++ a


4-1138723860
Beduir
2006-01-31 19:11
2006.04.23
Как отловить событие изменения элемента в ListView