rysowanie figury w konsoli
Ostatnio zmodyfikowano 2016-11-30 20:18
jankowalski25 |
» 2016-11-30 13:39:01 SMALL_RECT * rect = new SMALL_RECT(); rect->Left = 0; rect->Top = 0; rect->Right = 80; rect->Bottom = 25;
| SetConsoleWindowInfoskładowe Bottom i Right nie mogą przekroczyć rozmiarów bufora ekranu konsoli. |
|
|
Anim Temat założony przez niniejszego użytkownika |
» 2016-11-30 15:41:42 oo :) nie ukrywam, że tę funkcję skopiowałem i nie skupiałem się na niej zbytnio. Tym bardziej, że znalazłem tę funkcję dla dwóch wariantów 1) z fragmentem, o którym wspominasz, 2) bez tego fragmentu.
Działanie było dla mnie - z punktu widzenia użytkownika - takie samo. Konsola ograniczona do 80/25 oraz brak gwiazdki w rogu :) a może coś się mylę teraz. sprawdzę jak wrócę do domu :D
a czy skoro "nie powinno przekraczać", to czy właśnie nie powinno zostać na poziomie 80 i 25? z logiki tego zdania wynika domknięcie zbioru. Bo rozmiar standardowy to 80x25, prawda? |
|
jankowalski25 |
» 2016-11-30 20:18:06 a czy skoro "nie powinno przekraczać", to czy właśnie nie powinno zostać na poziomie 80 i 25? | http://msdn.microsoft.com/en-us/library/windows/desktop/ms686125(v=vs.85).aspxSimilarly, the Bottom and Right members (or the calculated bottom and right coordinates) cannot be greater than (screen buffer height – 1) and (screen buffer width – 1), respectively. |
Nie powinno, ponieważ pierwszy znak w konsoli ma współrzędne (0;0), a nie (1;1), więc ostatni znak znajduje się na pozycji (79;24). Bo rozmiar standardowy to 80x25, prawda? |
Domyślnie tak, ale można to zmienić. Ważne, aby nie przekraczać tego, co zwraca funkcja GetLargestConsoleWindowSize. |
|
1 « 2 » |