TDM Geschrieben 8. November 2005 Geschrieben 8. November 2005 guten morgen, Ich möchte in der Win32 Konsole einen Rahmen zeichnen... Die oberste Begrenzung sieht ganz ok aus - allerdings werden danach nur noch die 2 Ränder neben einander gezeichnet - die unterste Seite ist garnicht da src: // Rahmen.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <windows.h> //Warnung ausschalten: Verkuerzung eines konstanten Wertes #pragma warning (disable : 4309 ) using namespace std; HANDLE gotoxy(int,int); void drawBorder(int,int,int,int); int _tmain(int argc, _TCHAR* argv[]) { HANDLE hStdout = gotoxy(0,0); CONSOLE_SCREEN_BUFFER_INFO CSBI; GetConsoleScreenBufferInfo(hStdout, &CSBI); char zeichen1 = 218; int maxX = CSBI.dwSize.X; int maxY = CSBI.dwSize.Y; drawBorder(0,0,maxX,maxY); gotoxy(25,25); return 0; } HANDLE gotoxy(int x, int y) { HANDLE hStdout; COORD coordScreen = {x,y}; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition( hStdout, coordScreen); return hStdout; } void drawBorder(int x1, int y1, int x2, int y2) { char i = 201; int u; gotoxy(x1,y1); cout << i; i = 188; gotoxy(x2,y2); cout << i; i = 187; gotoxy(x2,y1); cout << i; i = 200; gotoxy(x1,y2); cout << i; i = 205; //vertikal for((u=(x1+1)); u < x2; u++) { gotoxy(u,y1); cout << i; gotoxy(u,y2); cout << i; } //horizontal for((u=(y1+1)); u < y2; u++) { gotoxy(x1,u); cout << i; gotoxy(x2,u); cout << i; } } jemand ne idee?
TDM Geschrieben 8. November 2005 Autor Geschrieben 8. November 2005 ok... hab den fehler selber gefunden hab jetzt einfach CSBI.srWindow an die Funktion übergeben...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden