Вот пример main.cpp:
Код:
#include <windows.h>
#include <iostream>
#include <stdlib.h>
using namespace std;
// Меню
typedef struct {
string menu;
int x;
} MENU;
// Установка цвета
void setcolor(int fcolor, int bgcolor) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (16*bgcolor)+fcolor); // Устанавливаем цвет и фон
}
// Перемещение курсора на X,Y координаты
void gotoxy(int x, int y) {
COORD coord;
coord.Y = (SHORT)y; // Устанавливаем X координату
coord.X = (SHORT)x; // Устанавливаем Y координату
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); // Перемещаем курсор на X и Y координаты
}
// Рисует меню
void draw_menu_item(MENU mnu) {
gotoxy(mnu.x, 0); // Перемещаем меню вверх и по X-координате
setcolor(15, 1); // Устанавливаем синий фон и белые буквы
cout << mnu.menu; // Печатаем текста на экране
}
// Рисует панель меню
void draw_menubar() {
setcolor(15, 1); // Устанавливаем синий фон и белые буквы
gotoxy(0, 0); // Устанавливаем вверх в левый угл
// Рисуем панель меню
for(int i=0; i<80; i++)
cout << " "; // Рисуем пробелы
setcolor(15, 0); // Устанавливаем чёрный фон и белые буквы
}
// Рисует окно
void draw_window(int x, int y, int w, int h) {
setcolor(15, 1); // Устанавливаем синий фон и белые буквы
for(int yy=y; yy<y+h; yy++) {
gotoxy(x, yy); // Устанавливем курсор
for(int xx=x; xx<x+w; xx++) {
cout << " ";
}
}
setcolor(15, 0); // Устанавливаем чёрный фон и белые буквы
}
int main(int argc, char** argv) {
MENU mnuFile; // Меню файл
MENU mnuEdit; // Меню правка
MENU mnuOptions; // Меню опции
MENU mnuHelp; // Меню помощь
mnuFile.menu = "File"; // Заголовок File
mnuFile.x = 1; // Позиция по X координате 1
mnuEdit.menu = "Edit"; // Заголовок Edit
mnuEdit.x = 7; // Позиция по X координате 7
mnuOptions.menu = "Options"; // Заголовок Options
mnuOptions.x = 15; // Позиция по X координате 15
mnuHelp.menu = "Help"; // Заголовок Help
mnuHelp.x = 70; // Позиция по X координате 70
SetConsoleTitle("My GUI App"); // Устанавливаем заголовок окна
draw_menubar(); // Рисуем панель меню
draw_menu_item(mnuFile); // Рисуем меню File
draw_menu_item(mnuEdit); // Рисуем меню Edit
draw_menu_item(mnuOptions); // Рисуем меню Options
draw_menu_item(mnuHelp); // Рисуем меню Help
draw_window(10, 10, 5, 5); // Рисуем окно
gotoxy(0, 23); // Устанавливаем курсор в конец окна
system("pause"); // Останавливаем программу, чтобы выйте из программы, нужно нажать любую клавишу
return 0;
}Результат: