Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Каверзный вопрос [D6, WinME]


Hammer ©   (2002-04-20 16:08:00) 

Срочно! Как поместить свое изображение !вместо! кнопки ПУСК, а обязательно при этом скрыть или блокировать саму кнопку, чтобы не вызывалось меню?
Не используя EnableWindow!


copyr25   (2002-04-22 21:03:00) [1]

Вот пример:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
EnableWindow
(FindWindowEx
(FindWindow("Shell_TrayWnd", nil),0,
"Button",nil),false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
EnableWindow
(FindWindowEx
(FindWindow("Shell_TrayWnd", nil),0,
"Button",nil),true);
end;

end.


copyr25   (2002-04-22 20:55:00) [2]

А если "блокировать" кнопку... Можно. Но при этом она закрывается системным цветом
и вообще никакой кратинки на ней не видно.


copyr25   (2002-04-22 20:45:00) [3]

Это, как заменить картинку .
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
StartButton: hWnd;
OldBitmap: THandle;
NewImage: TPicture;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage := TPicture.create;
NewImage.LoadFromFile("newpusk.bmp");
StartButton := FindWindowEx(FindWindow("Shell_TrayWnd", nil),0,"Button", nil);
OldBitmap := SendMessage(StartButton,BM_SetImage, 0,NewImage.Bitmap.Handle);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
SendMessage(StartButton,BM_SetImage,0,OldBitmap);
NewImage.Free;
end;

end.


Suntechnic   (2002-04-21 04:08:00) [4]

Внедряйся в чужое пространство (хуком например). Подменяй окнонную процедуру (SetWindowLong ) и рисуй на кнопке чего душа пожелает.


Song   (2002-04-20 17:16:00) [5]

2Hammer (20.04.02 17:11)
А если скроешь, нафиг нужна картинка? Вы ж её всё-равно не увидите.


Hammer   (2002-04-20 17:11:00) [6]

Song,ты не понял! Ну скрыл, и как туда поместить картинку?


Song   (2002-04-20 16:33:00) [7]

ShowWindow() - скрыть


Наверх

Титульная страница Поиск, карта сайта Написать письмо