Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 20:54   #1
dangeonkeeper
Новичок
Джуниор
 
Регистрация: 01.10.2011
Сообщений: 2
По умолчанию Вопрос по ACL (API Controls Library)

Есть код:

Код:
program Project1;

uses
  Windows, Messages, Acl, AclUtils, SClasses;

type
  TWnd1 = class(TWinControl)
    Btn1 : TButton;
    Btn2 : TButton;
    procedure WndCreate(Sender: TObject);
  public
  end;

var
  Wnd1   : TWnd1;
  s1,s2  : shortstring;
  trig   : boolean;

procedure TWnd1.WndCreate(Sender: TObject);
begin
  AutoStop := true; // exit from process by closing this window
  Btn1 := NewButton(Self,
                   'Add string',
                   0,
                   (Self.ClientWidth - 150) div 2,190,150,25,
                   clYellow,
                   clBlack);
  Btn2 := NewButton(Self,
                   'Btn2',
                   0,
                   (Self.ClientWidth - 50) div 2,90,150,25,
                   clBlue,
                   clBlack);
end;


begin
  { TODO -oUser -cConsole Main : Insert code here }
  trig := false;
  Wnd1 := TWnd1.Create(nil);
  with Wnd1 do
  begin
    //Style := ws_Border or ws_Caption or ws_SysMenu;
    Style :=WS_OVERLAPPEDWINDOW;
    Width := 350;
    Height := 300;
    Left := (GetSystemMetrics(SM_CXSCREEN) - Width) div 2;
    Top := (GetSystemMetrics(SM_CYSCREEN) - Height) div 2;
    Color := RGB($33,$99,$FF);
    Caption := 'Win32 API Programming Sample';
    OnCreate := WndCreate;
  end;
  Wnd1.CreateWnd;
  Wnd1.Visible := true;
  Wnd1.ShowModal;
  Wnd1.Free;
end.
При изменении размеров главного окна происходит очень частое обновление/перерисовка кнопок (подозреваю что и др контролов тоже).
По-умолчанию стиль всех окон bk_Opaque.

Вопрос: как уменьшить мерцание/перерисовку дочерних контролов???
dangeonkeeper вне форума Ответить с цитированием
Старый 02.10.2011, 23:47   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

задайте паренту стиль WS_CLIPCHILDREN
counter вне форума Ответить с цитированием
Старый 03.10.2011, 08:18   #3
dangeonkeeper
Новичок
Джуниор
 
Регистрация: 01.10.2011
Сообщений: 2
По умолчанию

Цитата:
Сообщение от counter Посмотреть сообщение
задайте паренту стиль WS_CLIPCHILDREN
Помогло. Спасибо.



Есть еще вопросик:
создаю наследника от TLabel (который от TStdControl) В НОВОМ ЮНИТЕ.
В Uses прописываю Acl и AclUtils
однако в моем наследнике не видны свойства TWinControl !!!!!!!!!!!
Однако если создавать наследника в том же юните acl.pas то все видно!!!!!!!
Как от этого уйти?????
Хочу создать наследника в новом юните.

Последний раз редактировалось rpy3uH; 03.10.2011 в 14:08.
dangeonkeeper вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по win32 api и Си добрый_фей Помощь студентам 1 08.02.2011 02:02
Списки ACL Вопрос romec1 Win Api 4 09.01.2011 19:24
Вопрос про JEDI Code Library k1r1ch Компоненты Delphi 10 27.09.2009 15:50
ACL (API Controls Library) kiloz Win Api 4 25.06.2009 19:56
Вопрос по API Artruman Win Api 1 25.04.2009 08:02