PDA

Visualizza la versione completa : [C++ Builder] Come il men d'avvio...


XDaN
27-11-2003, 14:38
Vorrei fare un eseguibile che sia piu o meno come il menu di avvio...che contenga insomma vari bottoni (o qualcosa che si puo cliccare) e apra altri files o programmi...
Ho borland c++ builder 4 ...sto cercando qualcosa nella guida ma non trovo niente :dh:

alka
27-11-2003, 18:13
Originariamente inviato da XDaN
Vorrei fare un eseguibile che sia piu o meno come il menu di avvio...che contenga insomma vari bottoni (o qualcosa che si puo cliccare) e apra altri files o programmi...

Ti basta fare una Form che contiene i pulsanti richiesti, magari disposti all'interno di una toolbar e configurabili dall'utente.

Ma forse tu stai chiedendo come fare in modo che l'applicazione non abbia in qualche modo una rappresentazione standard sullo schermo ma si ancori in qualche modo al bordo, o qualcosa di simile?

Se cerchi una soluzione rapida, puoi tentare l'impostazione della propriet Align della form principale (MainForm) per ancorarla ad uno dei bordi del desktop, anche se la form non interagisce con altre applicazioni simili (ad esempio, Barra di Office, ICQ, ecc.).

Per un'applicazione completa in quel senso, devi cercare su Internet informazioni sulle AppBar.



Ho borland c++ builder 4 ...sto cercando qualcosa nella guida ma non trovo niente :dh:

Nella Guida difficilmente trovi informazioni sulla creazione di un'applicazione specifica, ma solamente indicazioni su progetti standard, sui metodi e sulle propriet delle classi a disposizione.

XDaN
24-12-2003, 19:24
non intendevo esattamente questo...
la parte difficile di aprire un programma direttamente con il click di un pulsante....

Esempio....clicco sul bottone "campo minato" e mi si apre campo minato.... :master:

iguana13
24-12-2003, 19:48
Puoi provare o con ShellExecute() o con system("campominato.exe")

XDaN
25-12-2003, 18:14
wow ho provato system e funziona! solo che lascia quella finestrella del prompt li dietro...
ShellExecute sembra piu carina, ma non me la riconosce e nell'help non mi dice che libreria devo includere per fargliela riconoscere...e poi non riesco cmq a farla molto funzionare mi sa..non so cosa metterci come handle al posto dell' HWND...

HINSTANCE ShellExecute(

HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);

questo quello che dice l'help...non so cosa mettere nell'HWND....magari se metto NULL funziona...

XDaN
25-12-2003, 18:19
ah no ok ho trovato la libreria..ma non so cosa mettere come handle ancora...cmq penso di continuare un altro giorno :D

XDaN
29-12-2003, 00:57
qualcuno lo sa usare questo shellexecute? :confused:

p87
29-12-2003, 09:57
Come handle metti quello della tua applicazione.

:ciauz:

Invio
29-12-2003, 11:46
Prova con spawnlp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
spawnlp(P_WAIT,"c:\\windows\\system32\\notepad.exe","c:\\windows\\system32\\notepad.exe",NULL);
}

oppure

void __fastcall TForm1::Button2Click(TObject *Sender)
{
spawnlp(P_OVERLAY,"c:\\windows\\system32\\notepad.exe","c:\\windows\\system32\\notepad.exe",NULL);
}

:ciauz:

XDaN
29-12-2003, 13:02
Ma non so l'handle della mia applicazione...finche la faccio in Visual C++ l'handle lo so xk lo imposto io, ma qua non so come trovarlo :stordita:
ho provato quel codice Invio ma non mi funziona..cio.....non fa niente :bh: boh..

Loading