Вывод текста во фрейм документа

Автор SerGoVec, 15.02.16, 19:29:57

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

SerGoVec

Всем привет!
Хотел вывести текст во фрейм документа, напободие того, как это сделано в компасе в сообщении "Получить лицензию на КОМПАС-3D".
Взял за основу пример  Cube (ASCON\SDK\Pascal\Delphi\Cube) в собитие ClosePaint (DocumentFrameEvent.pas) написал:

function DocumentFrameEvent.ClosePaint(const paintObj: IUnknown): WordBool;
var
  paintObject  : IPaintObject;
  _hWnd        : HWND;
  _hDC          : HDC;
  canvas        :TCanvas;

begin
  paintObject := paintObj As IPaintObject;
  if paintObject <> nil then
  begin

    _hWnd := paintObject.GetHWND();
    _hDC  := GetDC(paintObject.GetHWND());
     canvas := TCanvas.Create;
     canvas.Handle := _hDC;
     canvas.TextOut(50,50,'Hi!') ;
     canvas.Free;

    ReleaseDC(_hWnd,_hDC );
  end;

  Result := true;
end;

В результате во фрейм документа выводится надпись "Hi!" в левый верхний угол, НО выводимая надпись мерцает (а то и пропадает) и если двигать мышь, нажимать на ее клавиши надпись пропадает. Есть какое-либо решение?

ps. надпись "Получить лицензию на Компас-3D" выведена не на фрэйм документа, а как бы на вехний слой (на картинке это хорошо видно) можно ли так сделать средствами API?


SerGoVec