1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Tabsheet по размерам Pagecontrol

Тема в разделе "Delphi - программирование", создана пользователем Jungle, 2 авг 2008.

  1. Jungle

    Jungle Гость

    Репутация:
    0
    Необходим такой трюк: ширина и высота закладок TabSheet должны равняться соответственно ширине и высоте родительского компонента PageControl. Если установить свойства

    PageControl.Style:=tsButtons; {плоский PageControl}
    TabSheet1.TabVisible:=False {отключаем видимость корешка закладки}

    в этом случае всё ещё сохраняется минимальный зазор по периметру:

    Tabsheet по размерам Pagecontrol
     
  2. Silver Wind

    Silver Wind Гость

    Репутация:
    0
    Jungle
    Т.е. тебе нужен компонент с закладками типа как в PageControl, но без ярлычков и чтобы закладки занимали всю область компонента?
    Тогда посмотри на TNotebook (закладка Win 3.1). А в TPageControl, насколько я знаю от этого бордюра никак не избавиться через его свойства.
     
  3. Jungle

    Jungle Гость

    Репутация:
    0
    Silver Wind,
    На самом деле я использую рисованный интерфейс для своей программы, стараясь не применять стандартные компоненты VCL. Но без PageControl мне не обойтись. Вот окно моей программы:

    Tabsheet по размерам Pagecontrol

    На данный момент управляю видимостью панелей через BringToFront, на которых расположен Image с PNG-изображением (благодаря PNGComponents 1.0 RC3). Это извращенный способ, так как каждый раз при перерисовке Image изображение слегка мельтешит.

    Можно еще рисовать на канве PageControl, но только если это Bitmap, а у меня PNG.
     
  4. Silver Wind

    Silver Wind Гость

    Репутация:
    0
    Ну раз без PageControl не обойтись, то почему бы не заменить его на TNotebook? Функционал у них очень похож - это реализация закладок, разница лишь в том, что у TNotebook ярлычков закладок нет в принципе, но в данном случае они как раз и не нужны.

    З.Ы. Кстати интерфейс красиво нарисован, мне понравилось.
     
  5. Jungle

    Jungle Гость

    Репутация:
    0
    Silver Wind

    Да, компонент Notebook – как раз то, что необходимо для решения задачи, однако есть некий скептицизм, что касается его использования.

    Ну, во-первых, я столкнулся, казалось бы, с такой смешной ситуацией; переношу компоненты на закладки копированием в буфер: делаю активной вторую закладку, вставляю компоненты из буфера – размещение происходит на первой закладке. Вставляю компоненты из буфера на третью закладку – размещение происходит на четвертой. В общем, закономерность непонятная. Поправить ситуацию можно, если только переключиться на текстовый вид формы и вставлять нужные куски кода в нужных местах.

    Во-вторых, я практически незнаком с компонентами windows 3.11, поэтому возник вопрос: как обратиться к компонентам, расположенным на закладках компонента Notebook из других модулей? К примеру, если компонент располагается на главной форме MainForm1, то из другого модуля к нему можно обратиться через with MainForm1 do.

    ЗЫ: у меня есть и другое приложение с рисованным GUI, в котором используется PageControl. Однако здесь задача решилась моментально.

    Tabsheet по размерам Pagecontrol
     
  6. Silver Wind

    Silver Wind Гость

    Репутация:
    0
    Да, есть такой момент, сам сталкивался.

    Просто в виде MainForm.Button0, точно также как и в случае их размещения на PageControl.

    Что же касается того момента, что этот компонент располагается на закладке Win 3.11, то так сложилось исторически, он появился в более ранних версиях и оставлен больше для совместимости. Думаю, на самом деле, не стоит боятся его использовать, к Win 3.11 он никакого отношения не имеет, ни на какие устаревшие API не завязан. Если его функциональность это как раз то что надо, то пускай остается.
     
  7. Jungle

    Jungle Гость

    Репутация:
    0
    Silver Wind
    Спасибо за помощь! Проблема, думаю, решена. Остановлюсь на компоненте Notebook.
     
Загрузка...

Поделиться этой страницей