Читаем Виртуальная библиотека Delphi полностью

                       yFrame + 2, xSize - 2, ySize - 4);

//Get the handle to canvas using Form's device context

  Canvas.Handle := GetWindowDC(Self.Handle);

  Canvas.Font.Name := 'Symbol';

  Canvas.Font.Color := clBlue;

  Canvas.Font.Style := [fsBold];

  Canvas.Pen.Color := clYellow;

  Canvas.Brush.Color := clBtnFace;

  try

    DrawButtonFace(Canvas, CaptionBtn, 1, bsAutoDetect, False, False, False);

    //Define a smaller drawing rectangle within the button

    R := Bounds(Width - xFrame - 4 * xSize + 2,

                       yFrame + 3, xSize - 6, ySize - 7);

    with CaptionBtn do

      Canvas.TextRect(R, R.Left + 2, R.Top - 1, 'W');

  finally

    ReleaseDC(Self.Handle, Canvas.Handle);

    Canvas.Handle := 0;

  end;

end;

procedure TForm1.WMNCPaint(var Msg : TWMNCPaint);

begin

  inherited;

  DrawCaptButton;

end;

procedure TForm1.WMNCActivate(var Msg : TWMNCActivate);

begin

  inherited;

  DrawCaptButton;

end;

procedure TForm1.WMSetText(var Msg : TWMSetText);

begin

  inherited;

  DrawCaptButton;

end;

procedure TForm1.WMNCHitTest(var Msg : TWMNCHitTest);

begin

  inherited;

  with Msg do

    if PtInRect(CaptionBtn, Point(XPos - Left, YPos - Top)) then

      Result := htCaptionBtn;

end;

procedure TForm1.WMNCLButtonDown(var Msg : TWMNCLButtonDown);

begin

  inherited;

  if (Msg.HitTest = htCaptionBtn) then

    ShowMessage('You hit the button on the caption bar');

end;

procedure TForm1.FormResize(Sender: TObject);

begin

//Force a redraw of caption bar if form is resized

  Perform(WM_NCACTIVATE, Word(Active), 0);

end;

end.

Преобразование текста OEM в Ansi

Эта версия работает под любым Delphi.

(Начиная с Delphi 2, это можно записать короче с использованием AnsiToOem и OemToAnsi.)

Здесь все просто.

function ConvertAnsiToOem(const S : string) : string;

{ ConvertAnsiToOem translates a string into the OEM-defined character set }

{$IFNDEF WIN32}

var

  Source, Dest : array[0..255] of Char;

{$ENDIF}

begin

{$IFDEF WIN32}

  SetLength(Result, Length(S));

  if Length(Result) > 0 then

    AnsiToOem(PChar(S), PChar(Result));

{$ELSE}

  if Length(Result) > 0 then

  begin

    AnsiToOem(StrPCopy(Source, S), Dest);

    Result := StrPas(Dest);

  end;

{$ENDIF}

end; { ConvertAnsiToOem }

function ConvertOemToAnsi(const S : string) : string;

{ ConvertOemToAnsi translates a string from the OEM-defined

  character set into either an ANSI or a wide-character string }

{$IFNDEF WIN32}

var

  Source, Dest : array[0..255] of Char;

{$ENDIF}

begin

{$IFDEF WIN32}

  SetLength(Result, Length(S));

  if Length(Result) > 0 then

    OemToAnsi(PChar(S), PChar(Result));

{$ELSE}

  if Length(Result) > 0 then

  begin

    OemToAnsi(StrPCopy(Source, S), Dest);

    Result := StrPas(Dest);

  end;

{$ENDIF}

end; { ConvertOemToAnsi }

Состояние кнопки insert (Insert/Overwrite)

{------------------------------------------}

{ Returns the status of the Insert key. }

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных