Найдено 5 результатов

InnI
06.10.2012 13:57:59
Форум: Lazarus
Тема: Контроль за изменением содержимого буфера обмена.
Ответы: 10
Просмотры: 11344

Re: Контроль за изменением содержимого буфера обмена.

Нет возможности проверить на х64 :( Попробуйте так:

Код: Выделить всё

PrevWndProc := Windows.WNDPROC(SetWindowLong(Handle, GWL_WNDPROC, Int64(@WndCallback)));
InnI
05.10.2012 15:23:17
Форум: Lazarus
Тема: Контроль за изменением содержимого буфера обмена.
Ответы: 10
Просмотры: 11344

Re: Контроль за изменением содержимого буфера обмена.

Не так всё просто в Lazarus с обработкой сообщений Windows. Вот рабочий код для отслеживания буфера обмена.
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Windows, Clipbrd;

type
TFormViewer = class(TForm)
Memo1&#58 ...
InnI
01.12.2011 11:42:12
Форум: Lazarus
Тема: Вернуть ноль после обработки сообщения
Ответы: 5
Просмотры: 3549

Re: Вернуть ноль после обработки сообщения

Или может я вопрос не понял...
Дело в том, что в Delphi можно сделать так:
procedure WMDrawClipboard(var Msg: TWMCLIPBOARDUPDATE); message WM_CLIPBOARDUPDATE;

procedure WMDrawClipboard(var Msg: TWMCLIPBOARDUPDATE);
begin
// обработка
Msg.Result := 0;
end;
Вероятно, вот этот ноль ...
InnI
30.11.2011 19:23:17
Форум: Lazarus
Тема: Вернуть ноль после обработки сообщения
Ответы: 5
Просмотры: 3549

Re: Вернуть ноль после обработки сообщения

alex208210 писал(а):в функции если условие выполнится, то результата у функции не будет.. перед exit присвойте result какое нить значение

Да, действительно... А какое конкретно в данном случае значение нужно присвоить?
InnI
30.11.2011 12:46:22
Форум: Lazarus
Тема: Вернуть ноль после обработки сообщения
Ответы: 5
Просмотры: 3549

Вернуть ноль после обработки сообщения

Здравствуйте, уважаемые.
Изучаю Lazarus (пока под Windows). Столкнулся с обработкой сообщений. Сделал так:
var PrevWndProc: WNDPROC;
...
function WndCallback(Ahwnd: HWND; uMsg: UINT; wParam: WParam; lParam: LParam): LRESULT; stdcall;
begin
if (uMsg = WM ...