| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: c maximiert von anfang an im Forum Code Kitchen, in der Kategorie Software Home; Anzeige huhu kann mir wer sagen ob es einen befehl für c gibt, dass wenn man ein programm startet, das ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.10.05 ![]() Likes: 0 | Anzeige huhu kann mir wer sagen ob es einen befehl für c gibt, dass wenn man ein programm startet, das consolen fenster sofott maximiert ist? ich habs chon gegoogelt und finde nix... mfg m00nk |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, wäre schon zu wissen, welches OS du meinst. Glaube aber kaum, das es eben 'so' funktioniert. Sonst kannst du aber ein Prog schreiben, welches sich selber aufruft (mit spez. Paramter), und das aufgerufene Fenster von außen maximiert (siehe fremnde Fenster manipulieren), und sich dann selber beendet. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 19.08.04 ![]() Likes: 1 | Code: #include <curses.h>
#include <stdlib.h>
#define MAXSIZE 1
#define MINSIZE 0
static int y_click, x_click;
static int y_click2, x_click2;
static int size = MINSIZE;
static void
where_clicked (WINDOW * win, WINDOW * win2, MEVENT pos) {
// linke obere Ecke von win2
getbegyx (win2, y_click2, x_click2);
mouseinterval (1);
// wo in win wurde geklickt
wenclose (win, pos.y, pos.x);
y_click = pos.y;
x_click = pos.x;
// wurde auf die linke obere Ecke von win2
if (y_click == y_click2 && x_click == x_click2) {
endwin ();
exit (EXIT_FAILURE);
}
// ... oder wurde auf der rechten oberen Ecke geklickt
else if (y_click == y_click2 && x_click == x_click2 + 39 ||
x_click == x_click2 + 78) {
touchwin (stdscr);
refresh ();
if (size == MINSIZE) {
delwin (win2);
size = MAXSIZE;
}
else if (size == MAXSIZE) {
delwin (win2);
size = MINSIZE;
}
}
}
/* Verschieben des Fensters an Position der globalen Variablen */
/* x_click und y_click die zuvor mit where_clicked() ermittelt */
/* wurden */
static void move_win_to (WINDOW * win) {
touchwin (stdscr);
wrefresh (stdscr);
mvwin (win, y_click + 1, x_click + 1);
touchwin (win);
wrefresh (win);
}
static WINDOW *create_new_window (
WINDOW * neues_fenster, int zeilen, int spalten,
int hinterg, int vordergr, int begin_y, int begin_x ) {
neues_fenster = newwin (zeilen, spalten, begin_y, begin_x);
init_pair (1, hinterg, vordergr);
wattrset (neues_fenster, COLOR_PAIR (1));
box (neues_fenster, ACS_VLINE, ACS_HLINE);
return neues_fenster;
}
int main (void) {
MEVENT pos;
int l_maus;
chtype button;
WINDOW *fenster;
initscr ();
if (has_colors () == TRUE)
start_color ();
noecho ();
keypad (stdscr, TRUE);
fenster = create_new_window (
fenster, 10, 40, COLOR_RED, COLOR_BLUE, 5, 15);
init_pair (2, COLOR_BLACK, COLOR_YELLOW);
wattrset (fenster, COLOR_PAIR (2));
mvwaddch (fenster, 0, 0, 'S');
mvwaddch (fenster, 0, 39, 'M');
wattrset (fenster, COLOR_PAIR (0));
mvwprintw (fenster, 2, 10, "S=Fenster schliessen");
mvwprintw (fenster, 6, 10, "M=Fenster maximieren");
wrefresh (fenster);
l_maus = mousemask (BUTTON1_RELEASED | BUTTON1_PRESSED, NULL);
while (1) {
button = wgetch (stdscr);
if (button == KEY_MOUSE) {
if (getmouse (&pos) == OK) {
where_clicked (stdscr, fenster, pos);
// move_win_to(fenster);
if (size == MAXSIZE) {
fenster =
create_new_window (fenster,
24, 79,
COLOR_RED,
COLOR_BLUE,
0, 0);
wattrset (fenster, COLOR_PAIR (2));
mvwaddch (fenster, 0, 0, 'S');
mvwaddch (fenster, 0, 78, 'M');
wattrset (fenster, COLOR_PAIR (0));
mvwprintw (fenster, 10, 30,
"S=Fenster schliessen");
mvwprintw (fenster, 14, 30,
"M=Fenster minimieren");
wrefresh (fenster);
} else if (size == MINSIZE) {
fenster =
create_new_window (fenster,
10, 40,
COLOR_RED,
COLOR_BLUE,
5, 15);
init_pair (2, COLOR_BLACK,
COLOR_YELLOW);
wattrset (fenster, COLOR_PAIR (2));
mvwaddch (fenster, 0, 0, 'S');
mvwaddch (fenster, 0, 39, 'M');
wattrset (fenster, COLOR_PAIR (0));
mvwprintw (fenster, 2, 10,
"S=Fenster schliessen");
mvwprintw (fenster, 6, 10,
"M=Fenster maximieren");
wrefresh (fenster);
move_win_to (fenster);
}
}
}
}
endwin ();
return 0;
} Gruß |
| | |
| | #4 (permalink) |
| Registriert seit: 17.04.06 ![]() Likes: 3 | Hey da hab ich was !!! Du brauchst doch nur die Tasten alt-enter emulieren. ![]() Code: bool FullscreenOnOff()
{
static bool Fullscreen = false;
keybd_event(VK_MENU,0x38,0,0);
keybd_event(VK_RETURN,0x1c,0,0);
keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);
return Fullscreen = !Fullscreen;
}
__________________ http://chm0815.blogspot.com |
| | |
| | #5 (permalink) |
| Member of Honour ![]() Registriert seit: 03.10.01 ![]() Likes: 1 | Im Normalfall kann und sollte ein C-Programm eine Konsole nicht maximieren. Mach Dir klar, wie ein Desktop funktioniert und dann wirst du auch verstehen, warum. Wenn Du es aber für benutzbarer hältst, kannst du (unter Linux) ja einfach ien script basteln, dass ein xterm mit der entsprechenden Zeilen bzw.Spaltenzahl startet! |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Gutes Buch für den Anfang?? | Dudekopp | (In)security allgemein | 19 | 26.07.07 14:53 |
| C++ für den Anfang | Virus | Umfragen | 34 | 10.12.06 21:56 |
| Anfang | GOLDFISCH | (In)security allgemein | 10 | 03.08.05 22:41 |
| C Programmieren von Anfang an | TheEvilOne | Programmiersprachen | 16 | 17.03.05 19:59 |
| Von Anfang an... | MrSwissi | (In)security allgemein | 9 | 21.03.02 08:25 |