Mrowqa Temat założony przez niniejszego użytkownika |
[WinAPI] Pasek przewijania w oknie DOS-owym » 2011-04-09 15:54:29 Witam !
Zauważyłem brak pasku przewijania po prawej stronie w okienku DOS-owym. Korzystam z VC++ 2010 Express 64bit. Wcześniej korzystałem z Dev-C++. Dev "robił" pasek do przewijania po prawej, VC++ nie robi ;/ ( Możliwe, że to implementacja kompilatora ;D ). Co zrobić, by ten pasek mieć ? Albo lepiej ( o ile się da ): Czy da się ten pasek włączać i wyłączać podczas wykonywania programu ? Proszę powiedzieć jak ;P
Pozdrawiam, Mrowqa |
|
yoogi |
» 2011-04-09 15:57:35 Witam, a więc, kiedyś też udało mi się, że tego paska nie było, bo korzystałem chyba z biblioteki dirent.h i windows.h spróbuj skompilować hello world i zobacz czy jest pasek. |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-04-09 16:44:42 Pewnie to przez bibliotekę ddt-console. W programie, gdzie jej nie użyłem jest pasek ;) Istnieje jednak możliwość włączania i wyłączania paska podczas wykonywania programu ??
Pozdrawiam, Mrowqa |
|
yoogi |
» 2011-04-09 16:58:42 Hmmmm... sam nie wiem, w sumie możesz użyć WinAPI i sobie wyświetlać, bądź ukrywać pasek. |
|
DejaVu |
» 2011-04-09 17:19:41 Istnieje możliwość. Zobacz źródła tamtej biblioteki jak to jest robione. |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-04-09 19:15:46 Coś mi się zdaje, że to ma związek z: DDTxDefaultConsoleHandle = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleWindowInfo( DDTxDefaultConsoleHandle, true, & tRozmiar ); SetConsoleScreenBufferSize( DDTxDefaultConsoleHandle, tWymiary );
COORD tWymiary = { 80, 25 };
Nie jestem tego pewien ( jestem początkujący :D ). Jeśli to jest to, to jak tego użyć ? Jeśli nie - to co mam zrobic ;) PS jestem ciekaw co do funkcji: Włączając bibliotekę, ona sama się odpala ( w sensie funkcja ? ). Czy trzeba jakoś to zadeklarować ? Jeśli to automatyczne, to gdybym napisał własną bibliotekę oraz funkcję o danej nazwie efekt byłby taki jak przy tej ? EDIT: <--- czytając dalej, zauważyłem, że ciągle tego handlera sprawdza ... i odpala init ;) Więc dopóki nie użyjemy biblioteki = mam pasek ? ( więc chyba init sam sie nie odpala :D ) Pozdrawiam, Mrowqa |
|
yoogi |
» 2011-04-09 20:49:36 To jest ustawienie wielkości konsoli :] |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-04-10 14:11:42 Czyli jak pisałem da się jednak zmienić rozmiar ;) To co jest odpowiedzialne za pasek ?? Kodzik ( fragment ) biblioteki: HANDLE DDTxDefaultConsoleHandle = 0; WORD DDTxCurrentColor;
void init() { DDTxDefaultConsoleHandle = GetStdHandle( STD_OUTPUT_HANDLE ); SMALL_RECT tRozmiar = { 0, 0, 79, 24 }; COORD tWymiary = { 80, 25 }; SetConsoleWindowInfo( DDTxDefaultConsoleHandle, true, & tRozmiar ); SetConsoleTitleA( "Dokumentacja na stronie: http://ddt.pl" ); SetConsoleScreenBufferSize( DDTxDefaultConsoleHandle, tWymiary ); textattr( 7 ); }
Pozdrawiam, Mrowqa |
|
« 1 » 2 |