|
|
Prodotto ESAURITO/FUORI CATALOGO
I segreti della programmazione in Windows 98
|
| Editore | Apogeo |
| Autore | Walnum |
| Titolo originale | Windows 98 programming secrets |
| Editore originale | IDG Books |
| Collana | I segreti |
| Pagine | 933 |
| Volumi | 1 |
| Supporto digitale | 1 CD-ROM |
| Livello | Avanzato |
| Lingua | italiano |
| Data pubblicazione | 07 - 1998 |
| ISBN | 8873034381 |
|
|
| Prezzo di copertina |
| Euro 50,61 |
|
Sommario
INTRODUZIONE XIX
PARTE PRIMA - INTRODUZIONE A WINDOWS 98
CAPITOLO 1 - PANORAMICA DI WINDOWS 98 3
Introduzione a Windows 98 3
Il desktop di Windows 98 4
Elementi principali dell'interfaccia utente 7
Componenti di una finestra 7
Finestre di dialogo 9
Finestra di messaggio 10
Fogli di proprieta' 10
Procedure guidate 11
Controlli standard 11
Elementi di interfaccia comuni 13
File di risorse 15
Come garantire un aspetto
e un funzionamento coerente 21
Il sistema basato sugli eventi di Windows 22
Multitasking 23
Riepilogo 24
CAPITOLO 2 - PANORAMICA DI VISUAL C++ 25
Introduzione a Visual C++ 25
Strumenti chiave di Visual C++ 25
AppWizard 26
ClassWizard 30
Editor di risorse 31
Il compilatore 33
Il debugger 34
L'area di lavoro del progetto 35
La pagina ClassView 36
La pagina ResourceView 36
La pagina FileView 37
La pagina InfoView 38
Strumenti di utilita' 38
Source Browser 38
Spy++ 42
ActiveX Control Test Container 42
Riepilogo 43
CAPITOLO 3 - PROGRAMMAZIONE IN VISUAL C++ 45
Introduzione dell'applicazione CircleApp 45
Creazione dell'applicazione di base per CircleApp 49
Completamento delle risorse di CircleApp 56
Modifica della risorsa menu 56
Modifica della tabella degli acceleratori 60
Modifica della finestra di dialogo About CircleApp 61
Creazione della finestra di dialogo Change Diameter 62
Modifica della barra degli strumenti 67
Modifica delle icone dell'applicazione 70
Modifica delle classi di CircleApp 74
La classe applicazione 74
La classe documento 75
La classe visualizzazione 82
Le variabili membro della classe 86
Modifica della barra di stato di CircleApp 90
Riepilogo 91
CAPITOLO 4 - FONDAMENTI DELLE APPLICAZIONI 93
Applicazioni Win32 93
Applicazioni Win32 tradizionali 93
Applicazioni Win32 da console 94
Librerie a collegamento dinamico 95
Controlli ActiveX 96
Programmare Windows nella maniera difficile 97
MFC contro C 104
Inizializzare l'applicazione 104
Gestione dei messaggi MFC 105
Riepilogo 110
PARTE SECONDA - INTERFACCIA UTENTE
CAPITOLO 5 - ELEMENTI FONDAMENTALI DELLA GDI 113
Introduzione dall'interfaccia GDI 113
Contesti di dispositivo 114
Il contesto di dispositivo per il disegno 117
Il contesto di dispositivo dell'area di lavoro 118
Il contesto di dispositivo dei metafile 122
Caratteristiche dei dispositivi 127
La classe CPen 129
La classe CBrush 132
Riepilogo 138
CAPITOLO 6 - FINESTRE E FINESTRE DI DIALOGO 139
Classi fondamentali delle finestre MFC 140
La classe CObject 140
La classe CCmdTarget 141
La classe CWnd 141
Finestre cornice e di visualizzazione 143
La classe CFrameWnd 144
La classe CView 145
Elementi fondamentali delle finestre: creazione di un'applicazione
senza AppWizard 146
Creazione dell'applicazione BasicApp 146
Analisi dell'applicazione BasicApp 151
La classe della finestra di frame 152
Stili della finestra 154
Modifica degli stili della finestra 155
Stili delle finestre in programmi non-MFC 157
Finestre MDI 160
Finestre di dialogo 163
Finestre di dialogo personalizzate 163
Finestre di dialogo comuni 169
Fogli delle proprieta' 182
Creazione di pagine e fogli delle proprieta' 183
Programmazione del foglio delle proprieta' 186
L'applicazione PropSheet 188
Wizard 189
Creazione di un wizard 189
Impostazione dei pulsanti di un wizard 190
L'applicazione WizardApp 192
Riepilogo 193
CAPITOLO 7 - TESTO 195
Visualizzazione del testo 195
Impostazione del colore del testo 196
Impostazione della spaziatura dei caratteri 200
Impostazione dell'allineamento del testo 201
Allineamento orizzontale del testo 201
Allineamento verticale del testo 205
Recupero di una metrica del testo 210
Creazione di font 213
Riepilogo 221
CAPITOLO 8 - MENU 223
Creazione di risorse menu 223
Creazione di funzioni di risposta a messaggi 227
Che cosa sono le funzioni UI di menu 230
Creazione di funzioni UI di aggiornamento dei comandi 230
Contrassegnare voci del menu con simboli di spunta 231
Marcare le voci del menu 232
Attivazione e disattivazione delle voci di menu 234
Modifica del testo delle voci di un menu 235
L'applicazione di esempio MenuApp 237
Utilizzo dell'applicazione MenuApp 237
Analisi dell'applicazione MenuApp 239
Riepilogo 245
CAPITOLO 9 - CONTROLLI STANDARD 247
Presentazione dei controlli standard 247
Inserimento dei controlli nelle finestre non di dialogo 248
Esecuzione dell'applicazione di esempio ControlApp2 249
Creazione e programmazione dei controlli standard 253
Controlli statici 253
Controlli di modifica 257
Pulsanti di comando 263
Caselle di controllo 266
Pulsanti di opzione 267
Caselle di riepilogo 270
Caselle combinate 275
Modifica del colore di un controllo 279
Manipolazione dei controlli nelle finestre di dialogo 283
Creazione della struttura elementare dell'applicazione 284
Creazione della nuova finestra di dialogo 287
Aggiunta del codice sorgente alla classe di visualizzazione 291
Aggiunta del codice sorgente alla classe finestra di dialogo 294
Esecuzione di DialogControlsApp 300
Analisi di DialogControlsApp 300
Riepilogo 302
CAPITOLO 10 - CONTROLLI COMUNI 303
Presentazione dei controlli comuni 303
Controlli comuni di base 305
L'applicazione d'esempio CommonControlsApp 305
La funzione OnCreate() 306
Il controllo barra di avanzamento 307
Il controllo dispositivo di scorrimento 311
Il controllo campo di inserimento valori 322
Il controllo elenco immagini 326
Controlli comuni avanzati 331
L'applicazione di esempio CommonControlsApp2 332
La funzione OnCreate() 335
Il controllo visualizzazione elenco 336
Il controllo visualizzazione struttura 354
Riepilogo 367
CAPITOLO 11 - STAMPA 369
Introduzione dalla stampa in Windows 369
I sei passi per la stampa di un documento 369
Il programma di esempio BasicPrintApp 372
Stampa del testo in un'applicazione MFC 376
L'applicazione di esempio PrintApp 378
Funzioni membro di MFC per la stampa 378
Stampa di figure in un'applicazione MFC 391
L'applicazione di esempio PrintCircleApp 391
Proporzionamento tra schermo e stampante 393
La funzione OnCreate() 395
La funzione OnDraw() 396
La funzione OnPreparePrinting() 398
Riepilogo 406
CAPITOLO 12 - BITMAP 409
Presentazione delle DDB e delle DIB 409
Programmazione con le bitmap dipendenti dal dispositivo 410
Creazione e inizializzazione di un oggetto bitmap 411
Creazione del DC di memoria 412
Selezione della bitmap nel DC di memoria 413
Disegno sulla bitmap 414
Copia della bitmap sul display 415
Creazione dell'applicazione BitmapApp 418
Esecuzione dell'applicazione BitmapApp 426
Programmazione con bitmap indipendenti dal dispositivo 427
Caricamento di un file DIB 428
La classe personalizzata CDib 432
Visualizzazione di una DIB 436
Gestione delle tavolozze 438
Creazione dell'applicazione BitmapApp2 442
Esecuzione dell'applicazione BitmapApp2 454
Riepilogo 469
CAPITOLO 13 - GDI AVANZATA 471
Coordinate fisiche e logiche 471
Modalita' di mappatura 473
Sperimentazione con le origini di finestra e di viewport 473
La modalita' MM_TEXT 477
Mappatura con un'unita' di misura fisica 479
Proporzionamento di unita' logiche in coordinate arbitrarie 482
Operazioni raster 489
Operazioni raster bitmap 490
Modalita' di disegno linee 494
Uso delle regioni 501
Creazione e disegno di una regione 501
Combinazione delle regioni 503
Uso dei percorsi 508
Creazione di un percorso 508
Composizione di un percorso 508
Definizione dei sottopercorsi 509
Il programma di esempio PathApp 510
Riepilogo 513
PARTE TERZA - IL CUORE DEL SISTEMA OPERATIVO
CAPITOLO 14 - GESTIONE DELLA MEMORIA 517
Lo sviluppo della gestione della memoria 517
Allocazione della memoria con le funzioni di libreria C 519
malloc() 519
calloc() 520
realloc() 520
free() 521
Allocazione di memoria con le funzioni di Windows 98 521
Allocare memoria movable 524
Allocare memoria discardable 525
Riepilogo 526
Processi, thread e priorita' 529
CAPITOLO 15 - CONTROLLO DEI PROCESSI 529
Thread di interfaccia utente e thread di calcolo 531
Creazione di un thread di calcolo 532
Creare un thread UI 534
Sincronizzazione dei thread 539
Uso degli oggetti evento 540
Uso delle sezioni critiche 548
Uso dei mutex 551
Uso di semafori 555
Riepilogo 560
CAPITOLO 16 - DISPOSITIVI DI INPUT: IL MOUSE E LA TASTIERA
561
Eventi e messaggi di input 561
Gestione del mouse 562
Messaggi del mouse nell'area client 562
Messaggi del mouse nell'area non-client 563
L'applicazione di esempio Mouse 565
Rispondere ai messaggi del mouse 565
Gestione della tastiera 571
Messaggi della tastiera 571
L'applicazione di esempio Keys 572
Esame dell'applicazione Keys 573
L'applicazione di esempio KeyDown 574
Esame dell'applicazione KeyDown 577
Riepilogo 580
CAPITOLO 17 - GESTIONE DEI FILE 581
L'architettura documento/vista 581
Fase 1: creazione della struttura dell'applicazione 582
Fase 2: dichiarazione degli oggetti
per i dati del documento 583
Fase 3: completamento della funzione OnNewDocument() 584
Fase 4: ridefinizione della funzione DeleteContents() 584
Fase 5: completamento della funzione Serialize() 585
Fase 6: completamento della funzione OnDraw() 587
Fase 7: aggiunta del codice per la modifica 588
Oggetti persistenti 589
Gestione dei file con la classe CFile 598
Riepilogo 602
CAPITOLO 18 - GLI APPUNTI 603
Formati standard 604
Un'applicazione di esempio degli Appunti 604
Copiare una bitmap negli Appunti 606
Come incollare una bitmap dagli Appunti 611
Formati degli Appunti registrati e privati 614
Formati multipli dei dati degli Appunti 621
Formati multipli in azione 621
Copia dei dati di CircleApp in formati multipli 625
Incollare i dati di CircleApp in formati multipli 628
Riepilogo 632
PARTE QUARTA - ACTIVEX
CAPITOLO 19 - INTRODUZIONE AD ACTIVEX 635
OLE 1.0 635
OLE 2.0 638
COM 639
ActiveX 640
Applicazioni e componenti ActiveX 641
Applicazioni contenitore ActiveX 641
Applicazioni server ActiveX 642
Applicazioni ActiveX automation 643
Controlli ActiveX 644
Documenti ActiveX 645
Riepilogo 645
CAPITOLO 20 - CONTENITORI 647
Creazione della struttura di un'applicazione ActiveX 647
Gestione delle dimensioni e della posizione degli oggetti incorporati
653
Utilizzo del mouse nella selezione degli elementi 656
Riepilogo 665
CAPITOLO 21 - SERVER 667
Creazione della struttura di un'applicazione server 668
Personalizzazione delle risorse dell'applicazione 673
Completamento della classe di documento dell'applicazione 677
Completamento della classe di elementi server 679
Completamento della classe visualizzazione 680
Esecuzione dell'applicazione server 681
Esecuzione di ServerApp come applicazione stand-alone 682
Esecuzione di ServerApp come editor in loco 683
Esecuzione di ServerApp come editor per un elemento collegato 685
Riepilogo 687
CAPITOLO 22 - AUTOMAZIONE 689
L'applicazione server di automazione 689
Creazione della struttura di un server di automazione 690
Personalizzazione delle risorse del server di automazione 693
Completamento della classe di documento
del server di automazione 696
Completamento della classe di visualizzazione
del server di automazione 697
Definizione di proprieta' e metodi del server 699
L'applicazione client di automazione 703
Creazione della struttura per il client di automazione 703
Personalizzare le risorse dell'applicazione client 706
Completamento della classe di visualizzazione dell'applicazione client
706
Inizializzazione di ActiveX nell'applicazione client 711
Come controllare il server dal client 711
Riepilogo 714
CAPITOLO 23 - CONTROLLI ACTIVEX 715
Creazione della struttura di un controllo ActiveX 716
Creazione dell'interfaccia utente di un controllo ActiveX 718
Creazione dei metodi e delle proprieta' di un controllo 722
Come rispondere alla pressione del pulsante di un controllo 725
Verifica funzionale di un controllo ActiveX 726
Riepilogo 729
PARTE QUINTA - MULTIMEDIA
CAPITOLO 24 - DIRECTDRAW 733
Creazione di un programma DirectDraw 734
Aggiunta di file DirectDraw al progetto Visual C++ 735
Aggiungere il file header ddraw.h al programma 735
Aggiunta del file ddraw.lib al programma 736
Creazione di un oggetto DirectDraw 737
Impostazione del livello di accesso allo schermo 737
Impostazione della modalita' dello schermo 738
Creazione della superficie primaria di DirectDraw 738
Creazione delle superfici fuori schermo 740
Creazione di una tavolozza per DirectDraw 740
Analisi dell'applicazione d'esempio DirectDrawApp 741
La funzione OnInitialUpdate() di DirectDrawApp 742
La funzione InitMemberVariables() di DirectDrawApp 743
La funzione InitDirectDraw() di DirectDrawApp 744
La funzione CreateDDrawSurfaces() di DirectDrawApp 745
La funzione ClearDDrawSurface() di DirectDrawApp 745
La funzione CreateOffScreenSurface() di DirectDrawApp 747
La funzione InitImages() di DirectDrawApp 748
La funzione CreateDDrawPal() di DirectDrawApp 749
La funzione DibToSurface() di DirectDrawApp 750
La funzione OnTimer() di DirectDrawApp 751
La funzione OnKeyDown() di DirectDrawApp 753
La funzione OnDestroy() di DirectDrawApp 754
Riepilogo 759
CAPITOLO 25 - DIRECTSOUND 761
Creazione di un programma DirectSound 761
Aggiunta dei file DirectSound al progetto Visual C++ 762
Aggiunta del file di intestazione dsound.h 762
Aggiunta del file dsound.lib 763
Creazione di un oggetto DirectSound 764
Impostazione del livello di accesso all'hardware audio 764
Creazione di un buffer secondario DirectSound 765
Analisi dell'applicazione DirectSoundApp 766
Il costruttore della classe visualizzazione 767
La funzione OnInitialUpdate() di DirectSoundApp 768
La funzione InitDirectSound() di DirectSoundApp 769
La funzione CreateSoundBuffer() di DirectSoundApp 769
La classe CWave 770
La funzione LoadWaveData() di DirectSoundApp 773
La funzione OnLButtonDown() di DirectSoundApp 774
La funzione OnDestroy() di DirectSoundApp 775
Riepilogo 780
CAPITOLO 26 - DIRECTINPUT 783
Creazione di un programma DirectInput 784
Aggiunta dei file DirectInput al progettoVisual C++ 785
Aggiunta del file di intestazione dinput.h 785
Aggiunta dei file dinput.lib e dxguid.lib 786
Creazione di un oggetto DirectInput 787
Creare una periferica DirectInput 788
Impostazione del formato dei dati 788
Impostazione del livello di accesso alla periferica 789
Acquisizione della periferica 789
Analisi dell'applicazione DirectInputApp 790
Il costruttore della classe view di DirectInputApp 791
La funzione OnInitialUpdate() di DirectInputApp 792
La funzione OnTimer() di DirectInputApp 793
La funzione OnDraw() di DirectInputApp 794
La funzione OnDestroy() di DirectInputApp 795
Riepilogo 800
CAPITOLO 27 - DIRECT3D 801
Creare un programma Direct3D 802
Creazione di un oggetto Direct3D principale 803
Creazione di un oggetto clipper 803
Creazione di un dispositivo Direct3D 804
Creare il frame radice 806
Creare mesh per gli oggetti 806
Creazione di frame per mesh 807
Viewport 807
Creazione di un frame per il viewport 808
Creazione della viewport 809
Aggiunta delle luci 809
Creazione dell'oggetto luce 809
Creazione del frame figlio per la luce 810
L'applicazione di esempio Direct3DApp 811
Costruzione di una nuova applicazione Direct3D 811
Esecuzione di Direct3DApp 814
Come scrivere un'applicazione MFC senza AppWizard 815
Riepilogo 834
PARTE SESTA - INTERNET
CAPITOLO 28 - WININET 837
Presentazione di WinInet 837
La classe CInternetSession 838
La classe CInternetConnection 839
La classe CHttpConnection 839
La classe CFtpConnection 840
La classe CInternetFile 841
La classe CHttpFile 841
La classe CFileFind 842
La classe CFtpFileFind 842
La classe CInternetException 843
Scrittura di un'applicazione HTTP 843
Avvio di una sessione Internet 843
Apertura del collegamento a un server HTTP 844
Lettura di un file da un server HTTP 845
Chiusura del collegamento e della sessione 845
Creazione di una sessione HTTP 845
Scrittura di un'applicazione FTP 846
Apertura di un collegamento FTP 847
Acquisizione della directory principale 848
Lettura di una directory 848
Chiusura del collegamento e della sessione 849
Esecuzione dell'applicazione FTPAccessApp 849
Creazione dell'applicazione di esempio FTPAccessApp 851
Analisi delle variabili membro 852
Creazione della funzione OnDraw() 853
Creazione della funzione OnFtpConnect() 855
Creazione della funzione OpenFTPDirectory() 856
Creazione della funzione ReadFileNames() 857
Creazione della funzione OnLButtonDblClk() 858
Creazione della funzione OnRButtonDown() 859
Creazione della funzione DownloadFile() 859
Creazione della funzione MoveToPreviousDirectory() 861
Creazione della funzione DisplayStatusMessage() 862
Creazione della funzione InitSelection() 862
Riepilogo 863
CAPITOLO 29 - INTERNET EXPLORER 865
I componenti di Internet Explorer 866
Creazione della struttura elementare di un'applicazione browser 867
Compilazione di MyBrowser 870
Configurazione del controllo WebBrowser 871
Navigazione con il componente WebBrowser 872
Uso delle finestre di dialogo HTML 877
Aggiunta di una risorsa HTML 881
Lavorare nella finestra di dialogo 882
Uso di Dynamic HTML 883
Presentazione del modello degli oggetti DHTML 883
Accesso all'interfaccia documento 886
Uso del modello degli oggetti 887
Estensione del modello degli oggetti DHTML 887
Distribuzione del controllo browser 892
Determinazione delle versioni con il registro di configurazione 892
Determinazione delle versioni con shdocvw.dll 893
Uso dell'installazione minima 894
Avviso agli utenti sulla disinstallazione di IE 4.0 895
Esecuzione di MyBrowser 895
Riepilogo 897
PARTE SETTIMA - APPENDICI
APPENDICE A - CERTIFICAZIONE PER WINDOWS 98 901
Requisiti di certificazione per Windows 98 901
Fornire un supporto a Windows aggiornato 902
Essere facile da installare e disinstallare 904
Usare correttamente il Registro di configurazione 905
Salvare i dati nei luoghi appropriati 905
Cooperare con gli amministratori 907
Essere dotata di ulteriori funzionalita' 907
Il processo di certificazione 907
APPENDICE B - CONTENUTO DEL CD-ROM ALLEGATO 909
Contenuto del CD-ROM 909
INDICE ANALITICO 913
|
|
|
|