Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Per un programmino di visualizzazione d'immagini che intendo usare a scuola, mi son trovato nella necessità di predisporre il passaggio dalla visualizzazione nella classica finestra "overlapped" di win32 a quella a schermo pieno. Per farlo ho dovuto affrontare un terreno per me ignoto, approntando un ulteriore programmino di "sperimentazione". Come al solito, le cose sembrano funzionare a dovere, ma io sono un tipo sospettoso. Eccomi quindi qui a chiedere ai "capoccioni" tra voi se quel che ho fatto è sensato oppure no. In caso lo fosse, mi piacerebbe aggiungere il programmino di prova alla sezione "esempi" di pierotofy.it. Che ne dite, lo faccio? Non serve a niente? Devo andare a nascondermi?
Ultima modifica effettuata da AldoBaldo il 05/11/2017 alle 15:03
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
Non proprio, perché cambia anche lo stile della finestra da WS_OVERLAPPEDWINDOW (con barra del titolo, ridimensionabilità, bordi, ecc.) a WS_POPUP (un semplice riquadro "fisso" senza titolo né bordo alcuno). Per farlo, per la prima volta nella mia vita ho usato GetWindowLong() e SetWindowLong(), spingendomi su un terreno per me inesplorato.
In merito alla guida, non ho le certezze che servirebbero per "guidare", perché spesso mi ritrovo io stesso a dover essere guidato (o, almeno, mi sento spesso nella posizione di dover ricevere conferme). Senza contare che le API che uso sono ferme a una ventina d'anni fa! Sembra una cosa folle, ma l'ultima documentazione completa e disponibile in blocco unico e ben strutturato da scaricare offline sulla quale son riuscito a mettere le mani è quella di Windows 98; da lì in avanti la documentazione sembra essersi fatta frammentaria e disorganica. Diciamo che sarebbe una bella cosa che venisse riscritto il tutto in un corpo unico, eliminando doppioni, rimandi, integrazioni... , e che si pubblicasse un bel corpo compatto di informazioni monolitiche in versione scaricabile. Invece in Microsoft sembra si stiano dando un gran da fare per generare sempre più confusioni e ambiguità, sovrapponendo questo a quello senza riordinare nulla, il tutto rigorosamente sul web, che è per definizione quanto di più "volatile" esista. O magari sono io che non sono in grado di orientarmi per limiti miei.
Ultima modifica effettuata da AldoBaldo il 06/11/2017 alle 16:49
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
Aldo, posso chiederti quali sono le motivazioni che ti hanno portato a scegliere l'implementazione "nativa" di Windows per la IU e non una basata su un framework come Qt o wxWidgets?
Invece in Microsoft sembra si stiano dando un gran da fare per generare sempre più confusioni e ambiguità, sovrapponendo questo a quello senza riordinare nulla
Sarebbe demenziale, dal punto di vista della Microsoft, ri-ordinare informazioni ormai inutili per la stragrande maggioranza dei programmatori software "high-level": avendo implementato MFC, ATL e più recentemente il framework .Net, l'utilizzo delle "vecchie" API non ha più senso in molti casi.
Considera inoltre che la Microsoft sta puntando, almeno per quanto ne so io, sulle nuove API WinRT, già introdotte in Windows 8 e disponibili per l'estensione proprietaria del C++, per i linguaggi .Net e (ORRORE) per quella merda indicibile che è Javascript.
Ultima modifica effettuata da Template il 06/11/2017 alle 19:41
Beh la microsoft ha tirato fuori un'infinità di tecnologie per le GUI in windows, almeno in genere ha sempre mantenuto la retrocompatbilità.
Mi dispiace solo per i poveretti che hanno dovuto sviluppare per windows phone.
Non so niente di windows quindi non so giudicare il codice, comunque non mi sembra troppo complicato, il commento iniziale è un po' ad cazzum (nel senso che è decontestualizzato), per il resto direi caricalo pure.
Ultima modifica effettuata da lumo il 06/11/2017 alle 23:42
Non proprio, perché cambia anche lo stile della finestra da WS_OVERLAPPEDWINDOW (con barra del titolo, ridimensionabilità, bordi, ecc.) a WS_POPUP (un semplice riquadro "fisso" senza titolo né bordo alcuno). Per farlo, per la prima volta nella mia vita ho usato GetWindowLong() e SetWindowLong(), spingendomi su un terreno per me inesplorato.
In merito alla guida, non ho le certezze che servirebbero per "guidare", perché spesso mi ritrovo io stesso a dover essere guidato (o, almeno, mi sento spesso nella posizione di dover ricevere conferme). Senza contare che le API che uso sono ferme a una ventina d'anni fa!...
Si, ora noto le piccole differenze.
Per la guida, la cosa buona delle guide a differenza degli articoli e che puoi iniziare a scriverla oggi, poi prima di pubblicarla puoi aspettare che qualche anima pia la legga e al limite ti avvisi di imprecisioni, oppure può scrivere direttamente un capitolo per una specifica API. Il fatto che sia di 20 anni fa rende reperire la documentazione più difficile, quindi più importante scriverla rispetto ad una sul C# 6, ad esempio.
Anche se come detto da altri, guide su MFC , ATL, GTK+, Qt ecc. ecc. sarebbero più attuali e forse utili.
Roby94: "Aldo, posso chiederti quali sono le motivazioni che ti hanno portato a scegliere l'implementazione "nativa" di Windows per la IU e non una basata su un framework come Qt o wxWidgets?"
Perché tempo fa ho impiegato un sacco di tempo a imparare quella e sono un abitudinario (leggo le targhette sugli ascensori, ecc. - cit.). In più predisporre i progetti per librerie mi dà un sacco di grattacapi per limiti miei. Poi c'è il fatto che ogni tre per due quelle librerie cambiano, e quell'altro fatto che per aprire una finestra che ti fa "ciao" a volte generano eseguibili da millemila mega e, nei casi peggiori, che richiedono pure una fila di .dll (che, ovviamente, devono essere della versione giusta, nel posto giusto, al momento giusto, ecc.).
Insomma, perché tendo a fare sempre le stesse cose e poi mi ci affeziono.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
Lumo, sulla questione della retrocompatibilità, in effetti, Microsoft è stata FIN'ORA encomiabile. Spero proprio che continui così almeno su quel versante.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.