Изменить размер родного окна - PullRequest
0 голосов
/ 12 июля 2010

Кто-нибудь знает о кроссплатформенном способе изменения размера собственного окна - под нативным я имею в виду тот, который работает внутри Windows, Mac или Linux,?

Любая помощь будет признательна!

Ответы [ 2 ]

1 голос
/ 12 июля 2010

Нет ни одного.Нет даже кроссплатформенного способа создания и отображения «собственного окна» с использованием только стандартного C ++.

Существуют кроссплатформенные способы с использованием наборов инструментов / каркасов, которые обеспечивают независимую от платформы абстракцию оконной системы., включая создание окон, изменение размера, пользовательское рисование, кнопки и т.д ...:

  • Nokia Qt: использует собственные API рисования для своих виджетов, то есть все будет выглядеть "правильно", не имея дело с аномалиями платформы,Имеет отличную документацию и очень большой набор функций.
  • wxWidgets: то же самое, что и Qt, хотя некоторые спорные документы отсутствуют, и код может запутаться.
  • GTK +: выглядит ужасно в Windows, написанной на чистом c(имеет обертки C ++, но все еще c).

Если вы действительно хотите абстрагировать вещи платформы самостоятельно, вам придется либо разделить исходный код и переопределить все, что уже есть в вышеупомянутых проектах, илииспользуйте МНОГО # ifdef как это:

#ifdef _WIN32
    // windows specific code
#elif defined(somelinuxdefine?)
    //Linux code
#elif defined(somemacdefine?)
    // Mac code
#endif

, что по крайней мере очень сложно, грязно и не поддерживается.

0 голосов
/ 22 августа 2011

Для X11 - (например, Linux, но не только),

вас могут заинтересовать:

  • источников xdotool от Jordan Sissel ,причина "инструмент позволяет имитировать ввод с клавиатуры и работу мыши, перемещать и изменять размеры окон и т. д."

Я не уверен, но, похоже, есть также xdotool MacOSX и порт FreeBSD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...