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

Вниз

Каверзный вопрос   Найти похожие ветки 

 
Hammer   (2002-04-20 16:08) [0]

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


 
Song ©   (2002-04-20 16:33) [1]

ShowWindow() - скрыть


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

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


 
Song ©   (2002-04-20 17:16) [3]

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


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

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


 
copyr25 ©   (2002-04-22 20:45) [5]

Это, как заменить картинку .
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.


 
copyr25 ©   (2002-04-22 20:55) [6]

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


 
copyr25 ©   (2002-04-22 21:03) [7]

Вот пример:
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.



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
14-77599
kaif
2002-05-22 11:11
2002.06.24
Мне пришло 2 авиабилета FREE


7-77649
Antalex
2002-03-28 19:54
2002.06.24
В TurboPaskal при подключении CRT ошибка деления на 0


8-77506
Nikolay
2002-02-10 18:30
2002.06.24
GIF+Region=?


1-77388
Tkach_
2002-06-13 13:36
2002.06.24
Ошибка доступа при работе с потоками/нитями


14-77546
Alexander Bogdanov
2002-05-16 06:09
2002.06.24
где взять RoseDelphiLink3Setup.exe