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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 16:31   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию PageControl закрасить закладки

Здраствуйте

в кратце обьясню

Код:
procedure TForm1.PCDrawTab(Control: TCustomTabControl; TabIndex: Integer;
  const Rect: TRect; Active: Boolean);
begin
with (Control as TPageControl).Canvas do
begin
if (ErrGL=1)and ( TabIndex = (Control as TPageControl).TabIndex) then
 begin
    Control.Canvas.Brush.Color := clRed;
    Control.Canvas.FillRect(Rect);
 end;
end;
  DrawButton(Control, TabIndex, Active);//отрисовка крестиков которые при нажатии на них закрывают вкладку
end;
обработка ошибки

Код:
except
   on E: Exception do
    begin
      //Form1.pc
      ErrGl:=1;
     //Application.MessageBox(PChar(E.Message), 'Îøèáêà ïîäêëþ÷åíèÿ', MB_ICONERROR);
     //Halt;
    end;
   end;
т.е. если ошибка присваеваем переменой значение

тут сразу же вопрос как сделать так чтобы прога вообше не выводила ни каких сообшений?

Дальше. У меня закладка где подключение не прошло закрашивается красным, но стоит добавить следуюшую закладку и выделение цветом пропадает... ну у меня есть идея, хранить номера закрашеных закладок в массив, но мб вы предложите другой вариант?

Прорисовка закладки и создание датамодуля для подключения...
Код:
 Tab:=TTabsheet.Create(PC);  //ñîçäàåì äèíàìè÷åñêè íîâóþ âêëàäêó
         with Tab do        //è íàñòðàèâàåì åå
           begin
            Visible := true;
            Caption := NameStr+'     '; //ìîæíî çàäàòü èìÿ âêëàäêè
            Pagecontrol := PC; //ïîìåñòèòü ñîçäàííóþ âêëàäêó â íóæíûé PageControl
            PC.SelectNextPage(True);
           end;
//*************
          DM[y+1] := TDynDM.CreateValues(Self, y+1);
а забыл ешё, подключение происходит в динамически создаваемом датамодуле...
Dozent вне форума Ответить с цитированием
Старый 24.05.2012, 09:28   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Товарищи загляните ктонить сюда плз!!!
Я чот даже не могу корректно перехватить ошибку!
Dozent вне форума Ответить с цитированием
Старый 24.05.2012, 10:47   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
но стоит добавить следуюшую закладку и выделение цветом пропадает... ну у меня есть идея, хранить номера закрашеных закладок в массив, но мб вы предложите другой вариант?
Tabsheet.Tag :=1; // для индикации ошибок на вкладке

Цитата:
Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer.
Цитата:
тут сразу же вопрос как сделать так чтобы прога вообше не выводила ни каких сообшений?
посмотри тут
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.05.2012 в 13:54.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как закрасить jTable ? ALKOrobot Общие вопросы по Java, Java SE, Kotlin 0 02.09.2011 01:19
Закрасить область badaladanbad Win Api 3 20.04.2011 17:05
Закрасить области на графике vefer Microsoft Office Excel 0 24.02.2011 14:08
неполучаеться закрасить квадрат zlobin212 Паскаль, Turbo Pascal, PascalABC.NET 1 21.10.2009 19:02
Закрасить кнопку artemavd Общие вопросы Delphi 9 12.07.2008 15:37