Olen vasta harjoittelija ja minulla on yksi ongelma, kun rupean harjoittelemaan C++:lla. Missä tiedostossa nuo GCC:ssä yleiskontrollit ovat?
Mitä tarkoitat yleiskontrolleilla?
Hiiren kontrollit. Jos löytyisi GCC:ssä jokin file, jossa on määritelty nuo kontrollit.
Ajattelisin että hiiri ei sisälly C++ standardeihin, joten pitäisi tietää vähän missä ympäristössä ja millä kirjastoilla olet C++-ohjelmaa tekemässä.
Esim. aihetta liippaava Q&A Linuxissa
Olettaisin myös että hiiri on käyttiksestä riippumatta vähän eri asia konsoliohjelmassa kuin graafisessa ohjelmassa.
Olen tehnyt WIDOWS-ohjelmat nyt vanhalla kääntäjällä (BC502). Siinä kontrollit ovat erinimisiä.
Haluan vain tehdä alusta pitäen grafiikkafunktiot itse. Päätin siirtyä BC502:sta GCC kääntäjään.
ESIM:
/* This is where all the input to the window goes to */
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
switch(Message) {
/* Upon destruction, tell the main thread to stop */
case WM_DESTROY: {
PostQuitMessage(0);
break;
}
/* All other messages are processed using default procedures */
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
return 0;
}Noita kontrolleja löytyy varmasti joka lähtöön. Mutta tarvitsen vain vakioiden nimet.
WinAPI:lla puljaaminen on kyllä hullua hommaa, mutta dokumentaatiota löytyy Microsoftilta, esimerkiksi:
https://docs.microsoft.com/en-us/windows/win32/winmsg/windowing
https://docs.microsoft.com/en-us/windows/win32/inputdev/mouse-input-notifications
Tai jos nyt tiedostosta haluat yrittää kaivella, niin katso windows.h ja winuser.h ja mitä ikinä näistä #include-riveillä liitetään. Vakion nimellä googlaamalla löytyy yleensä Microsoftin dokumentaatio, miten sitä voi käyttää.
Tosi paljon helpommin toimii esim. SDL vapaaseen piirtelyyn (DOS-henkeen) tai käyttöliittymään jokin Qt/GTK/muu.
Ja olen tehnyt yksikön, joka on samanlainen käyttää, kuin Turbo C++:n legendaarinen BGI. Nuo linkit ovat minulle elintärkeitä. Kiitos linkeistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.