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

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

кнопка Пуск [D7, WinXP]


Настенька ©   (2004-09-15 07:41:00) 

как сменить изображение кнопки Пуск. вот мой код, но он почему-то
не работает в Windows XP Professional. что в нем не так?

описываем глобальные переменные
StartButton: hWnd;
OldBitmap: THandle;
NewImage: TPicture;

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage := TPicture.create;
NewImage.LoadFromFile('D:\Мои документы\delphi.BMP');
StartButton := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
OldBitmap := SendMessage(StartButton, BM_SetImage, 0, NewImage.Bitmap.Handle);
end;


Настенька   (2004-09-17 10:54:00) [1]

вы знаете, на том сайте я ничего не нашла, может напишите готовый код. буду очень благодарна. заранее спасибо


Настенька   (2004-09-16 17:15:00) [2]

спасибо буду искать


Александр1   (2004-09-16 03:56:00) [3]

> Настенька   (15.09.04 07:41)  
> как сменить изображение кнопки Пуск. вот мой код, но он
> почему-то
> не работает в Windows XP Professional. что в нем не так?

По моему я вроде видел пример на этом сайте по этому поводу.
http://www.delphisyte.ru


inic   (2004-09-15 15:57:00) [4]

Я думаю ничего не получится, ибо кнопка в XP наверное ownerdraw, т.е. сама себя рисует и забивает на всякие там свойства, относящиеся к image или шрифтам.


sniknik   (2004-09-15 08:08:00) [5]

код который точно работает в 2000х (найдите 10 отличий ;о)))

procedure TForm1.Button1Click(Sender: TObject);
var
  StartButton: THandle;
  NewImage: TPicture;
begin
  NewImage:= TPicture.create;
  NewImage.LoadFromFile('delphi.BMP');
  StartButton:= FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button', nil);
  SendMessage(StartButton, BM_SetImage, IMAGE_BITMAP, NewImage.Bitmap.Handle);
  NewImage.Free;
end;

попробуй сделать также, вплоть до места вызова и отступов ;о)), должно работать (может конечно какие особенности XP мешают..., но тут х.з. и проверить пока не могу).


Наверх

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