![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Каверзный вопрос [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() - скрыть