|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API | PureBasic | Управление буфером консольного окна |
|
Win32 API | PureBasic | Управление буфером консольного окна
|
Новый участник Сообщения: 18 |
Добрый день.
Мне необходимо изменить размер буфера консольного окна. Я нашел описание функции SetConsoleScreeBufferSize_ на http://msdn.microsoft.com Но когда я запускаю на выполнение такой код: If OpenConsole() stdout.l=GetStdHandle_(#STD_OUTPUT_HANDLE) mySize.COORD mySize\x = 80 mySize\y = 29 SetConsoleScreenBufferSize_(stdout, mySize) Debug(Str(GetLastError_()) ) EndIf Вместе с тем параметр, как видно из кода, заявлен как и нужно COORD, handle окна ловится нормально потому что вот такой код, к примеру, работает нормально: If OpenConsole() stdout.l=GetStdHandle_(#STD_OUTPUT_HANDLE) NewSize.SMALL_RECT NewSize\Top = 0 NewSize\Left = 0 NewSize\Bottom=29 NewSize\Right=80 SetConsoleWindowInfo_(stdout,1,@NewSize) EndIf Кто сталкивался с чем-либо похожим? |
|
Отправлено: 10:20, 22-11-2006 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать unhappy
спасибо за сабж... очень неплох, жаль небесплатный ![]() насколько понял из справки пурибасик поддерживает передачу сруктур (в функции и процедуры) только "по ссылке", а SetConsoleScreenBufferSize принимает структуру "по значению". Цитата:
If OpenConsole() stdout.l=GetStdHandle_(#STD_OUTPUT_HANDLE) NewSize.SMALL_RECT NewSize\top = 0 NewSize\left = 0 NewSize\bottom=50 NewSize\right=50 SetConsoleWindowInfo_(stdout,1,@NewSize) mySize.l mySize = (51 << 16) + 51 SetConsoleScreenBufferSize_(stdout, mySize) Debug(Str(GetLastError_()) ) EndIf |
|
Отправлено: 12:51, 23-11-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Сайт | Отправить PM | Цитировать amel27
Спасибо! Сейчас попробовал - всё работает. Действительно же в описаниии функции на msdn указано, что надо передавать не указатель на структуру, а именно параметр в dword. это всё невнимательность ![]() Полную версию PureBasic можно найти на ru-board'е |
------- Отправлено: 11:34, 26-03-2007 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Настройка размера консольного окна | ITSpec | Microsoft Windows 2000/XP | 2 | 29-12-2009 17:37 | |
CMD/BAT - [решено] Сворачивание (не скрытие) консольного окна. | Smarty | Скриптовые языки администрирования Windows | 6 | 15-05-2009 20:12 | |
Win32 API | Hint в StatusBar | Ryjka | Программирование и базы данных | 2 | 30-07-2006 22:17 | |
Win32 API | Нужна помошь по API функциям! | vasika_hk | Программирование и базы данных | 2 | 23-05-2006 09:51 | |
Win32 API | Дозвон | XCodeR | Программирование и базы данных | 5 | 08-04-2006 12:26 |
|