Страница 9 из 12
------------------------------------------------------------
Q-83: Как убрать VerticalScrollBar из TListBox навсегда?
------------------------------------------------------------ procedure TListBoxForEver.CreateParams (var Params: TCreateParams); file://override begin inherited CreateParams(Params); Params.Style := Params.Style and not WS_VSCROLL; end; Leonid Troyanovsky <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> ------------------------------------------------------------
Q-84: Как убрать из ListView горизонтальный скролбар навсегда?
------------------------------------------------------------ type TNoHScrollListview = Class( TListview ) private Procedure WMNCCalcSize( Var msg: TMessage ); message WM_NCCALCSIZE; end; procedure TNoHScrollListview.WMNCCalcSize(var msg: TMessage); var style: Integer; begin style := getWindowLong( handle, GWL_STYLE ); If (style and WS_HSCROLL) <> 0 Then SetWindowLong( handle, GWL_STYLE, style and not WS_HSCROLL ); inherited; end; by Peter Below ------------------------------------------------------------
Q-85: Как обнаружить активность юзера?
------------------------------------------------------------ Application.OnMessage := DoMessageEvent; procedure TForm1.DoMessageEvent ( var Msg: TMsg; var Handled: Boolean); begin case Msg.message of WM_KEYFIRST..WM_KEYLAST, WM_MOUSEFIRST..WM_MOUSELAST: {Произошли события клавиатуры и мыши}; .. end; end; Leonid Troyanovsky <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> ------------------------------------------------------------
Q-86: Как передать строку другому приложению?
------------------------------------------------------------ получатель: procedure ReceiveMessage (var Msg: TMessage); message WM_COPYDATA; .. procedure TFormReceive.ReceiveMessage; var pcd : PCopyDataStruct; begin pcd := PCopyDataStruct(Msg.LParam); Caption := PChar(pcd.lpData); end; отправитель: procedure TFormXXX.Button1Click(Sender: TObject); var cd : TCopyDataStruct; begin cd.cbData := Length(Edit1.Text)+1; cd.lpData := PChar(Edit1.Text); SendMessage ( FindWindow('TFormReceive', nil), WM_COPYDATA, 0, LParam(@cd)); end; Leonid Troyanovsky <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> ------------------------------------------------------------
Q-87: Удаление файлов из временного каталога, безопасно ли?
------------------------------------------------------------ При получении имени папки предназначенной для хранения временных файлов могут возникнуть ytrjnhst проблемы. >> Прекрасно это выглядит, когда в качестве каталога временных файлов назначен например C:\Windows >:-) Я и говорю что небезопасно. Особенно пикантно это выглядит, в свете того, что Remarks Windows 95/98/Me: The GetTempPath function gets the temporary file path as follows: The path specified by the TMP environment variable. The path specified by the TEMP environment variable, if TMP is not defined or if TMP specifies a directory that does not exist. The current directory, if both TMP and TEMP are not defined or specify nonexistent directories. Этак переименовываешь C:\TEMP - и программа чистит текущий каталог :-) Windows NT/2000 or later: The GetTempPath function does not verify that the directory specified by the TMP or TEMP environment variables exists. The function gets the temporary file path as follows: The path specified by the TMP environment variable. The path specified by the TEMP environment variable, if TMP is not defined. The Windows directory, if both TMP and TEMP are not defined. Этак удаляешь переменные окружения - и программа "деинсталлирует" Windows Из этого вытекает следующее, удаление файлов из любого каталога, особенно из временного чрезвычайно поасная операция, не ты создал - не трогай. Удалять только ручками, глядя на файлы и принимая решения индивидуально по каждому файлу. При использовании функции GetTempPath проверить если подстрока TEMP в результате и в случае отсутствия вхождения запросить пользователя для принятия решения, с рекомендацией создать каталог TEMP и необходимые переменные среды, лучше посоветоваться обратиться к администратору для принятия решения. Это простое правило позволит избежать серьезных последствий. Тенцер А.Л. <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> Andrew V. Fionik <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> Anatoly Podgoretsky <
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
> |