Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2007, 16:53   #1
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию Рабочий стол, рисование

Рисуем прямоугольник на рабочем столе:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var ScreenDC:HDC;
begin
 ScreenDC := GetDC(0);
 Rectangle(ScreenDC, 10, 10, 200, 200);
 ReleaseDC(0,ScreenDC);
end;
А как вывести таким способом картинку???
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 22.11.2007, 17:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Функцией BitBTN или StretchBTN.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2007, 17:04   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

var c: tcanvas;
r:trect;
begin
c := tcanvas.create;
c.brush.color := clblue;
c.font.color := clyellow;
c.font.name := 'fixedsys';
c.handle := getdc(getwindow(getdesktopwindow, gw_owner));
SystemParametersInfo(SPI_GETWORKARE A, 0, @r, 0);
c.Draw((r.Bottom div screen.MonitorCount)div 2,(r.Right div screen.MonitorCount )div 4,image1.Picture.Graphic);
c.free;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 22.11.2007, 17:05   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Этот код я писал чтобы картинка выводилась в центре монитора (вне зависимости от их кол-ва)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 22.11.2007, 17:06   #5
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Функцией BitBTN или StretchBTN.
А можно пример???
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 22.11.2007, 17:38   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
BitBTN или StretchBTN
Думаю имелось ввиду BitBlt/StrechBlt
Кстати всё-таки проще tcanvas пользоваться

пример - как-то так:
Код:
var
  ScreenDC:HDC;
begin
  ScreenDC := GetDC(0);
  BitBlt(ScreenDC, 1, 1, 1024, 768, image1.Canvas.Handle, 1, 1, SRCCOPY);
  ReleaseDC(0,ScreenDC);
end;
образно говоря BitBlt(<куда>, <х>, <у>, <ширина>, <высота>, <откуда>, <х>, <у>, <способ_вывода>)

читай MSDN там всё это есть
пыщь
JTG вне форума Ответить с цитированием
Старый 22.11.2007, 17:44   #7
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Всем спасибо.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 22.11.2007, 18:54   #8
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

procedure TForm1.Button20Click(Sender: TObject);
var
Picture: TPicture;
Desktop: TCanvas;
X, Y: Integer;
begin
Picture := TPicture.Create;
Desktop := TCanvas.Create;
Picture.LoadFromFile('c:/my.bmp');
Desktop.Handle := GetWindowDC(0);
X := 100; // по иксу
Y := 100; // по игрику
Desktop.Draw(X, Y, Picture.Graphic);
ReleaseDC(0, Desktop.Handle);
Picture.Free;
Desktop.Free;

end;
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пропадает пуск, рабочий стол. SAYLOR Безопасность, Шифрование 6 27.08.2008 05:03
Ярлык книги на рабочий стол FoxRiver Microsoft Office Excel 4 28.07.2008 09:24
Рабочий стол masterdela Win Api 3 31.01.2008 19:03
обновление в блоге - Рабочий стол Pblog Обсуждение статей 0 27.05.2007 03:17