The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

3.2.5 Регулируемая вручную раскладка

Существует возможность вручную обходить управление геометрией Gtk+. Это плохая идея в 95% случаев, потому что геометрия Gtk+ -- это в основном геометрия, предпочитаемая пользователем, определяемая темой, и изменением размеров окон верхнего уровня. Если вы вдруг захотите сделать эти вещи вручную, вероятно это потому, что вы используете не тот контейнер раскладки, или действительно должны будете написать свой собственный виджет-контейнер.

Вы можете заставить виджет принять нужные размеры и положение функциями, приведенными в списке функций 3..6. Однако, они редко могут понадобиться. В частности, "gtk_widget_set_usize()" не должна использоваться, чтобы установить размер по умолчанию виджета верхнего уровня. Обычно вы хотите установить размер окна, потому что сохранили состояние приложение и восстанавливаете его, или потому что пользователь указал геометрию окна в командной строке. К несчастью, если вы воспользуетесь "gtk_widget_set_usize()", пользователь не сможет уменьшить размеры окна, и вы получите по почте послание, полное ненависти. Вместо того, чтобы принудительно выставить размер, вы захотите указать начальный размер функцией "gtk_window_set_default_size()", показанной в списке функций 3..7. "gtk_widget_set_usize()" почти не используется и для виджетов верхнего уровня; в большинстве случаев вы получите лучшие результаты, использовав правильный виджет раскладки.

"gtk_widget_set_uposition()" можно использовать только для окон верхнего уровня; она почти не влияет на другие виджеты, и почти наверное приведет к плохим результатам. Ее основное назначение -- обслуживать аргумент командной строки -geometry.

Все три этих функции могут принять -1 в качестве аргументов x, y, width или height. Функции игнорируют любой из аргументов равный -1; это позволяет вам установить только один или два аргумента, оставляя остальным аргументам их значения по умолчанию.

Список функций 3..6: Принудительное выделение
"#include "<gtk/gtkwidget.h>
void gtk_widget_set_uposition(GtkWidget *widget,
                              gint x, gint y)
void gtk_widget_set_usize(GtkWidget *widget,
                          gint width, gint height)
Список функций 3..7: Размер окна по умолчанию
"#include "<gtk/gtkwindow.h>
void gtk_window_set_default_size(GtkWindow *window,
                                 gint width, gint height)


Linux Land
2000-09-15

АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Подробнее о проведении акции вы можете прочитать на странице сайта.


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList