Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Ниже пример формы, использующей анимированный курсор:

procedureTForm1.Button1Click(Sender: TObject);

varh: THandle;

begin

h:= LoadImage(0, 'C:\TheWall\Magic.ani', IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE orLR_LOADFROMFILE);

ifh = 0 thenShowMessage('Cursor not loaded')

else begin

Screen.Cursors[1] := h;

Form1.Cursor := 1;

end;

end;

Как узнать текущее разрешение экрана?

Из советов Nomadic'a:

Советуем ознакомиться с Help topic относительно глобального обьекта Screen типа TScreen. У этого обьекта есть свойства Width и Height.

{ Example }

begin

iScreenWidth := Screen.Width;

end;

Заодно и другие свойства могут Вас заинтересовать, например, Fonts и Cursors.

Как изменить изображение кнопки `Пуск`

The_Spriteсоветует:

Пример из серии "Что можно сделать с рабочим столом". В общем, это обычный трюк с кнопкой "Пуск" (Start).

Совместимость: все версии Delphi

{ объявляем глобальные переменные }

var

Form1: TForm1;

StartButton: hWnd;

OldBitmap: THandle;

NewImage: TPicture;

{ добавляем следующий код в событие формы OnCreate }

procedureTForm1.FormCreate(Sender: TObject);

begin

NewImage := TPicture.create;

NewImage.LoadFromFile('C:\Windows\Circles.BMP');

StartButton := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);

OldBitmap := SendMessage(StartButton, BM_SetImage, 0, NewImage.Bitmap.Handle);

end;

{ Событие OnDestroy }

procedureTForm1.FormDestroy(Sender: TObject);

begin

SendMessage(StartButton, BM_SetImage, 0, OldBitmap);

NewImage.Free;

end;

Как программно заменить обои на рабочем столе? III

Igor Nikolaev aKa The Spriteсоветует:

programwallpapr;

usesRegistry, WinProcs;

procedureSetWallpaper(sWallpaperBMPPath: String; bTile: boolean);

varreg : TRegIniFile;

begin

// Изменяем ключи реестра

// HKEY_CURRENT_USER

// Control Panel\Desktop

// TileWallpaper (REG_SZ)

// Wallpaper (REG_SZ)

reg := TRegIniFile.Create('Control Panel\Desktop');

withreg do begin

WriteString('', 'Wallpaper', sWallpaperBMPPath);

if(bTile) then begin

WriteString('', 'TileWallpaper', '1');

end else begin

WriteString('', 'TileWallpaper', '0');

end;

end;

reg.Free;

// Оповещаем всех о том, что мы изменили системные настройки

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil,

{Эта строка – продолжение предыдущей} SPIF_SENDWININICHANGE);

end;

// пример установки WallPaper по центру рабочего стола

SetWallpaper('c:\winnt\winnt.bmp', False);

//Эту строчку надо написать где-то в программе.

Как программно заменить обои на рабочем столе? IV

Владимир Рыбантпишет:

Советы «Как програмно заменить обои на рабочем столе» I, II, III не изменяют обои, если в Windows работает в режиме Active Desktop

Нужно использовать следующее:

usesComObj, ShlObj;

procedureChangeActiveWallpaper;

constCLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';

varActiveDesktop: IActiveDesktop;

begin

ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) asIActiveDesktop;

ActiveDesktop.SetWallpaper('c:\windows\forest.bmp', 0);

ActiveDesktop.ApplyChanges(AD_APPLY_ALL orAD_APPLY_FORCE);

end;

Этим способом можно также изменять обои картинками jpg и gif.

А как поместить свою иконку на taskbar, там где часы и переключатель клавиатуры?

Nomadicсоветует:

A: В библиотеке rxLib есть компонент TrxTrayIcon. Заметьте, что для корректного завершения работы операционной системе вам потребуется обрабатывать сообщение WM_QUERYENDSESSION.

Как ограничить перемещение курсора мыши какой-либо областью экрана?

Одной строкой

Nomadicотвечает:

A: ClipCursor(). Учтите, что использование этой функции – плохой тон.

Диалоги

Использование InputBox и InputQuery

Тема: Использование InputBox, InputQuery и ShowMessage

Данная функция демонстрирует 3 очень мощных и полезных процедуры, интегрированных в Delphi.

Диалоговые окна InputBox и InputQuery позволяют пользователю вводить данные.

Функция InputBox используется в том случае, когда не имеет значения что пользователь выбирает для закрытия диалогового окна – кнопку OK или кнопку Cancel (или нажатие клавиши Esc). Если вам необходимо знать какую кнопку нажал пользователь (OK или Cancel (или нажал клавишу Esc)), используйте функцию InputQuery.

ShowMessage – другой простой путь отображения сообщения для пользователя.

procedureTForm1.Button1Click(Sender: TObject);

var

s, s1: string;

b: boolean;

begin

s := Trim(InputBox('Новый пароль', 'Пароль', 'masterkey'));

b := s <> '';

s1 := s;

ifb thenb := InputQuery('Повторите пароль', 'Пароль', s1);

if notb or(s1 <> s) thenShowMessage('Пароль неверен');

end;

Текст на кнопках MessageDlg

Как можно сменить текст на кнопках диалогового окна MessageDlg? Английский язык для текста кнопок пользователь хочет заменить на родной.

Текст кнопок извлекается из списка строк, расположенных в файле …\DELPHI\SOURCE\VCL\CONSTS.PAS. Отредактируйте его, после чего пересоберите VCL.

-Steve Schafer

Дополнение

VSдополняет:

Но можно ничего не менять. Вместо MessageDlg использовать MessageBox – функция WINDOWS. И, если ваш WINDOWS русифицирован, то надписи на кнопках в диалоговых окнах будут на русском языке.

Изменения в TOpenDialog

Delphi 1

Почитайте про Open Dialog Box (диалоговое окно открытия файла) в файле помощи Windows API. Ознакомьтесь в статье с описанием аргумента lpTemplateName. Главное, вы можете создать новое диалоговое окно для Open Dialog Box и заменить стандартный диалог вашим собственным.

Как вывести диалог выбора каталога?

Одной строкой

Nomadicсоветует:

A: (DS): SelectDirectory, rxLib: TDirectoryEdit.

Сообщения

Как послать самостийное сообщение всем главным окнам в Windows?

Nomadicсоветует:

Пример:

VarFM_FINDPHOTO: Integer;

// Для того, чтобы использовать hwnd_Broadcast нужно сперва зарегистрировать уникальное

// сообщение.

Initialization

FM_FindPhoto:=RegisterWindowMessage('MyMessageToAll');

// Чтобы поймать это сообщение в другом приложении (приёмнике) нужно перекрыть DefaultHandler

procedureTForm1.DefaultHandler( var Message);

begin

withTMessage( Message) do begin

ifMsg = Fm_FindPhoto thenMyHandler(WPARAM,LPARAM)

else InheritedDefaultHandler(Message);

end;

end;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x