SlideShare a Scribd company logo
1 of 96
Download to read offline
Windows Programming in C
B c c F a l n a . c o m
0 9 7 9 9 4 - 5 5 5 0 5
Kuldeep Chand
Learn Windows Programming using C Language with
Deep Details of Windows Working in easy to
understand Hindi Language.
This eBook Contains So many Example Programs and
Code Fragements to easily understand the
Programming Concepts and Detaild Program Flow
Discussion to understand the working of the Windows
Program Step by Step.
Without learning Windows Operating System’s
InternalWorking, yo can’t can’t understand the
Windows Programming and C is the Base Language
of any Modern Operating System. So, learning
Windows Programming with C would be really useful if
you are interested in GUI Application Development.
1
www.BccFalna.com
Windows Programming in C
Kuldeep Chand
BetaLab Computer Center
Falna
2
www.BccFalna.com
Windows Programming in C
Windows Programming in C in HINDI
Copyright © Updated on 2014 by Kuldeep Chand
All rights reserved. No part of this work may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording, or by
any information storage or retrieval system, without the prior written permission of the
copyright owner and the publisher.
Trademarked names may appear in this book. Rather than use a trademark symbol
with every occurrence of a trademarked name, we use the names only in an editorial
fashion and to the benefit of the trademark owner, with no intention of infringement of
the trademark.
Lead Editors: Kuldeep Chand
Distributed to the book trade worldwide by Betalab Computer Center, Behind of
Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116
e-mail bccfalna@gmail.com,
or
visit http://www.bccfalna.com
For information on translations, please contact BetaLab Computer Center, Behind of
Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116
Phone 097994-55505
The information in this book is distributed on an “as is” basis, without warranty.
Although every precaution has been taken in the preparation of this work, the author
shall not have any liability to any person or entity with respect to any loss or damage
caused or alleged to be caused directly or indirectly by the information contained in
this book.
3
www.BccFalna.com
Windows Programming in C
This book is dedicated to those
who really wants to be
a
ProfessionAl Developer
4
www.BccFalna.com
Windows Programming in C
Index
of
Contents
5
www.BccFalna.com
Windows Programming in C
Table of Contents
Operating System AND Windows Programming .............................10
DOS Programming Model.................................................................................... 10
Event...................................................................................................................12
Hardware Event................................................................................................ 12
Software Event................................................................................................. 12
Interface...............................................................................................................12
Programming in DOS vs Windows ................................................................... 14
Windows Programming Model - Message Passing System............................ 14
Device Driver...................................................................................................... 17
Dynamic Linked Library (DLL) Files ................................................................. 18
USER32.DLL.................................................................................................... 19
GDI32.DLL ....................................................................................................... 19
KERNEL32.DLL ............................................................................................... 19
WINMM32.DLL................................................................................................. 19
What Are Messages........................................................................................... 20
Event – Driven Architecture .............................................................................. 21
Traditional MS DOS Program Model ................................................................ 21
Windows Program Model ................................................................................. 22
Windows Application Development Tools ....................................................... 23
SDK ( Software Development Kit ).................................................................... 24
Difference Between Procedure (Routine) And Functions ............................... 24
Message Passing............................................................................................... 24
Handles............................................................................................................... 26
Windows Programming In C ..............................................................30
Main Program..................................................................................................... 30
Hungarian Notation............................................................................................ 32
Window Class Structure.................................................................................... 32
What is a ‘Window Class’?................................................................................ 43
Creating and Displaying a Windows................................................................. 45
Message Queue.................................................................................................. 57
Message Processing Loop................................................................................ 59
A Complete main Program ................................................................................ 63
Window Procedure ............................................................................................ 68
Complete Window Program .............................................................................. 77
Text and Graphics in Windows..........................................................81
6
www.BccFalna.com
Windows Programming in C
Texts In GUI........................................................................................................ 81
Painting .............................................................................................................. 82
Client Region.................................................................................................... 82
Non – Client Region ......................................................................................... 82
Invalidate............................................................................................................ 83
Device Contexts................................................................................................. 85
Rectangles..........................................................................................................93
RECT Structure................................................................................................ 94
PAINTSTRUCT Structure................................................................................. 94
Device Context ( DC ) Attributes....................................................................... 96
Painting Text in the Client Area ........................................................................ 97
Graphics In GUI.................................................................................................. 99
Types of Graphic Objects You Can Draw in Windows .................................... 100
Facilities That the Windows GDI Provides...................................................... 101
The Device Context .................................................................................... 102
Obtaining and Using Device Context Information........................................ 103
Device Capabilities ..................................................................................... 104
Windows RGB Color Format .......................................................................... 108
Window Origin and Viewport Origin................................................................ 111
Line Drawing Under Windows ........................................................................ 115
Background Mode and Color for Lines ........................................................... 123
Drawing Rectangles and Filing with Color ...................................................... 125
Drawing Ellipse............................................................................................... 127
Window Graphics – Icon and Menu.................................................131
Message Loop Again ....................................................................................... 138
Resources ........................................................................................................ 140
Menus and Icons.............................................................................................. 144
WM_CREATE Message................................................................................. 153
Menu Bars and Menus ................................................................................... 153
Menu Handles ................................................................................................ 155
CreateMenu() ................................................................................................. 155
CreatePopupMenu()....................................................................................... 156
AppendMenu()................................................................................................ 156
LoadImage()................................................................................................... 161
WM_COMMAND ............................................................................................... 165
Window Graphics and Dialog Box..................................................174
Modal Dialog Box............................................................................................. 174
7
www.BccFalna.com
Windows Programming in C
DialogBox Macro............................................................................................ 177
Dialog Properties Dialog Box.......................................................................... 189
Modeless Dialog Box....................................................................................... 196
Controls............................................................................................................ 204
BUTTON ........................................................................................................ 205
COMBOBOX.................................................................................................. 205
EDIT............................................................................................................... 206
LISTBOX........................................................................................................ 206
SCROLLBAR.................................................................................................. 206
STATIC .......................................................................................................... 206
Messages.......................................................................................................... 207
Window Graphics and Dialog Box Resource ................................217
GDI .................................................................................................................... 217
Device Contexts............................................................................................... 217
Bitmaps ............................................................................................................ 218
GDI Leaks ......................................................................................................... 219
Displaying Bitmaps.......................................................................................... 220
Getting The Window DC................................................................................. 222
Setting up a Memory DC for the Bitmap ......................................................... 223
Drawing.......................................................................................................... 224
Cleanup.......................................................................................................... 227
Messages ...........................................................................................233
Event-Driven Input Versus "Hurry Up and Wait" ........................................... 234
Focus................................................................................................................ 235
Caret ................................................................................................................. 235
Keyboard Messages ........................................................................................ 241
Mouse Messages ............................................................................................. 248
Timer Messages............................................................................................... 259
Last but not Least. There is more… ................................................264
8
www.BccFalna.com
Windows Programming in C
9
www.BccFalna.com
Windows Programming in C
OpeRating System
&
Windows
Programming
10
www.BccFalna.com
Windows Programming in C
Operating System AND Windows Programming
DOS ds fy, Programming djuk lh[kus ds ckn vc ge Windows Based Program
Develop djuk lh[ksaxsA eSa vk”kk djrk gwa fd vc rd Computer Programming dk Basic
Concept dkQh gn rd Clear gks x;k gksxkA DOS ds fy, Program fy[kuk vkSj Window
ds fy, Program fy[kuk nksuksa esa dkQh vUrj gSA DOS vius le; dk lcls ljy vkSj
mi;ksxh Operating System Fkk ysfdu bldh dqN dfe;ka Fkha ftlds dkj.k Windows dks
Develop djuk iMkA pfy, lcls igys ge mUgha dfe;ksa dks ns[krs gSaA
DOS Programming Model
bls le>us ds fy, ge ,d lk/kkj.k lk Program cukrs gSa] ftlesa Program User ls mldk
uke Input djus ds fy, Message nsrk gS vkSj User ds uke Input djus ds ckn Program
uke dks ,d Message ds lkFk Print dj nsrk gSA ;s Program fuEukuqlkj gS &
Program
#include<stdio.h>
main()
{
char name[20];
printf("Enter Your Name: ");
gets(name);
printf("nnYour Name is %s", name);
}
tc bl Program dks Run djrs gSa rc User ls bldk Interface fuEukuqlkj gksrk gS &
Enter Your Name : // Program Input ds fy, Message nsrk gSA
Kuldeep // User uke Input djrk gSA
Your Name is Kuldeep // Program Message ds lkFk uke dks Print djrk gSA
ge ns[k ldrs gSa fd ;gka Program dk gj Instruction ftl rjg ls fy[kk tkrk gS] Program
mlh rjg ls Response djrk gSA bl rjg ds Interface esa User tc rd Input ugha djrk]
Program Control Input dk bUrtkj djrk jgrk gSA
11
www.BccFalna.com
Windows Programming in C
;fn User dHkh Input uk djs rks Program dHkh bl Instruction ls vkxs ugha c<sxk vkSj CPU
gesa”kk Busy jgsxkA tc rd User uke Input ugha djsxk] uk rks Program vkxs c<sxk uk gh
rc rd fdlh vU; Program dks pkyq fd;k tk ldsxkA ;s fdlh Hkh DOS Based Program
dk ,d Modal gSA
DOS Based gj Program blh rjg dk gksrk gSA fdlh Hkh Hardware pkgs og Keyboard
gks] Monitor gks ;k Mouse] lHkh ds lkFk Interact djus ds lkjs Functions dsoy Operating
System esa gksrs gSaA
;kuh DOS Based Program esa DOS gh bu Hardware Resources ds lkFk fdlh
Application Program dk Interaction djokrk gS vkSj DOS Based program esa DOS dk
Control Application Program ds ikl pyk tkrk gSA tc rd DOS Based og Program
Terminate ugha gksrk] rc rd Application Program dh Requirement ds vuqlkj DOS dks
dke djuk iMrk gSA
tc Hkh ge fdlh DOS Based Program dks Run djrs gSa rks DOS lcls igys main()
Function dks [kkstrk gS vkSj Computer ds Boot gksus ds ckn tks Control DOS dks BIOS ls
izkIr gksrk gS] DOS ml Control dks Application Software dks Transfer dj nsrk gSA
vc DOS Run gks jgs Application Program dh gj t:jr dks iwjk djrk gSA tc Application
Program esa Control dks printf() Function feyrk gS] Control DOS esa vkrk gS vkSj DOS
dks printf() Function esa fy[ks x, Message dks Screen ij Print djus ds fy, Order nsrk
gSA DOS printf() Function esa fy[ks Message dks Screen ij Print djrk gS vkSj Control
dks okil Application Software dks Transfer dj nsrk gSA
tc Control dks Application Program dk nwljk Instruction scanf() Function feyrk gS]
rc Control okil DOS esa vkrk gS vkSj DOS dks Order nsrk gS fd og Keyboard ls User
}kjk Input izkIr djsA DOS User ls Input ysus ds fy, Wait djrk gSA Input ysus ds ckn
DOS dk Control okil Application Program dks Transfer gks tkrk gSA ;s izfØ;k rc rd
pyrh jgrh gS] tc rd fd Application Program Terminate ugha gks tkrkA
;kuh lkjka”k esa fdlh Hkh DOS Based Program esa ge tc Hkh dksbZ Program Run djrs gSa
rks Computer dk lkjk Control ml Application Program ds gkFk esa pyk tkrk gS] tks Run
gks jgk gksrk gSA Run gks jgk Application Program ;s r; djrk gS fd Operating System
DOS dc fdlh Hardware dks Access dj ds User ls Input ysxk vkSj fdl Hardware dks
dc Access djds Output esa Message dks Print djsxkA ;kuh ge ;s Hkh dg ldrs gSa fd ,d
DOS Based Program Computer ds fofHkUu Resources o Hardware dks Direct Access
djrk gSA
12
www.BccFalna.com
Windows Programming in C
fdlh Hkh Computer dk Control gesa”kk fdlh ,d Application Program ds ikl gksus ds
dkj.k gh DOS esa Multi Tasking ugha gks ldrh Fkh D;ksafd CPU dk Control gesa”kk fdlh
Application Software ds ikl gksrk Fkk vkSj CPU gesa”kk User ds Response dk Wait
djrk jgrk FkkA bl rjg ds Operating System ds dkj.k CPU dk iwjk mi;kssx Hkh lEHko ugha
FkkA
DOS dh bu dfe;ksa dks nwj djus vkSj Computer ds Operating System dks vf/kd yphyk
cukus ds fy, ,d ,sls Operating System dks Develop fd;k x;k ftlesa Computer dk
lkjk Control gesa”kk Operating System ds ikl gh jgrk gS vkSj Application dh t:jrksa dks
og Operating System t:jr ds vuqlkj iwjk djrk gSA Windows blh izdkj dk ,d
Operating System gSA
Windows ,d Multi Tasking Operating System gSA Multi Tasking dks le>us ds fy, gesa
igys Windows Based Programming Modal dks le>uk gksxkA Windows Based Program
,d Event Driven Programming Modal esa Develop fd, tkrs gSaA
Event
Computer esa tc Hkh tks Hkh dqN gksrk gS] mls Event dgrs gSaA Event nks izdkj ls Generate
gksrs gSa%
Hardware Event
Mouse ls Click djuk] Key Board ls dksbZ Key Press djuk] Mouse dks Move djuk
vkfnA ;s lHkh Actions Hardware Event ds vUrxZr vkrh gSaA
Software Event
fdlh Window dks Resize djus] fdlh Deactivate Window ij Click djds mls
Activate djus tSlh fØ;kvksa ls tks Event Generate gksrs gSa] mUgsa Software Event dgrs
gSaA
Interface
pwafd Computer ,d Electronic Machine gS tks dsoy Electrical Signals dks le>rk gSA
User dh ckr dks Computer dks le>kus vkSj Computer ls okafNr ifj.kke izkIr djus ds fy,
User dks ,d ek/;e dh vko”;drk gksrh gSA bl ek/;e }kjk Computer User dh ckr dks
13
www.BccFalna.com
Windows Programming in C
viuh Hkk’kk ;kuh Electrical Signals dh Hkk’kk esa le>rk gS vkSj User dks mldh leL;k dk
lek/kku User dh Hkk’kk esa nsrk gS] ftls User le>rk gSA
Computer o User ds chp gksus okyh ckrphr ;k fopkjksa ds vknku&iznku dk rjhdk Interface
dgykrk gS vkSj ;s rjhdk Operating System }kjk izkIr gksrk gS tks fd ,d Master Software
gksrk gSA
tc User fofHkUu izdkj ds Commands dk iz;ksx djds Computer dks viuh ckr le>krk gS
rks bl Interface dks Character User Interface dgrs gSa vkSj tc User Graphics ds ek/;e
ls Computer ls Interact djrk gS rks bl izfØ;k dks Graphical User Interface dgrs gSaA
MS-DOS ,d Character User Interface (CUI) iznku djrk gS vkSj Windows ,d
Graphical User Interface (GUI) iznku djrk gSA
Window esa vf/kdrj dkeksa dks djus ds fy, Graphics dk iz;ksx fd;k tkrk gSA Windows
Environment esa Mouse ls fdlh Hkh Program Icon dks Point o Click djds dke fd;k
tkrk gSA MS–Word, MS–Excel vkfn Windows esa Run gksus okys GUI Application
Softwares gSaA ;s Programs Windows esa gh py ldrs gSa D;ksafd Windows bUgs fofHkUu
izdkj ds dbZ Built–In Functions o Data iznku djrk gS tks fdlh vU; Operating System
tSls fd MS–DOS vkfn esa ugha gksrs gSaA
Windows Text dks fofHkUu Size, Style o Colors esa Draw djus dh lqfo/kk iznku djrk gSA
lkFk gh ;s fofHkUu izdkj ds Graphics cukus ds fy, fofHkUu izdkj ds Functions iznku djrk gS]
ftuds fy, User dks fdlh izdkj dh dksfMax ugha djuh iMrh gSA
bu System Defined Functions, ftUgsa ,d Application Program t:jr ds vuqlkj Call
djrk gS] ,d Interface }kjk Application Software dks izkIr gksrk gSA bl Interface dks
API (Application Programming Interface) dgk tkrk gSA ;s API Functions fdlh
Application Program o Windows ds chp Interface ;k ek/;e iznku djus dk dke djrk
gSA
Windows Based dksbZ Hkh Program bUgha API Functions ds ek/;e ls Operating System
ls Interact djrk gS vkSj Operating System Application dh Requirement ds vuqlkj
fofHkUu izdkj ds Computer Resources tSls fd Keyboard, Memory, Processor, Hard
Disk, Floppy Disk, CD Drive, Monitor vkfn dks Access djds Application Program dh
Requirement dks iwjk djrk gSA
lHkh Applications dks API Functions Operating System Windows }kjk izkIr gksrs gSaA gj
API esa cgqr lkjs System Defined Functions gksrs gSa tks fofHkUu izdkj ds dke djrs gSaA ;s
14
www.BccFalna.com
Windows Programming in C
API Functions Dynamic Link Library (DLL Files) ds :i esa Windows ds System uke
dh Directory esa gksrs gSaA
gj Windows Environment dk Lo;a dk ,d API gksrk gSA mnkgj.k ds fy,] Windows 9x
32Bit API Provide djrk gS] ftls Win32 Interface Hkh dgk tkrk gSA API }kjk iznku fd,
tkus okys lHkh Functions 32bit Information ds lkFk fdlh fn, x, le; esa dke dj ldrs
gSaA API Functions dk iz;ksx djrs gq, Windows Environment ds fy, Programs fy[kus
dh izfØ;k esa dke vkus okys fofHkUu izdkj ds vo;oksa dks SDK ( Software Developer’s Kit )
Programming dgk tkrk gSA
Programming in DOS vs Windows
T;knkrj CUI Programs Directly Computer Hardware dks Access djrs gSaA bldk eryc
;s gqvk fd tc fdlh CUI Application dks pkyq fd;k tkrk gS rks Computer ds lHkh
Hardware o Resources dh Controlling ml Application ds Under pyh tkrh gSA fQj
dsoy ml Application }kjk gh Computer ds fofHkUu izdkj ds Hardware Access gksrs gSaA
Operating System dk Role rc rd ds fy, lekIr gks tkrk gS tc rd fd ml
Application dks Close uk dj fn;k tk,A bl dkj.k ls ,d le; esa dsoy ,d gh
Application Software Run gks ldrk gSA
tcfd Windows dks bl izdkj ls cuk;k x;k gS fd fdlh Hkh le; Computer ds lkjs
Controls Windows ds gh Under gksrs gSaA Windows gh ;s r; djrk gS fd fdl le; fdl
Application dh fdl t:jr dks iwjk djuk gSA
Windows Programming Model - Message Passing System
Windows ds fy, tks Application Softwares fy[ks tkrs gSa] os vU; Console Mode
Application Softwares ls vyx gksrs gSaA gkykafd Console Mode ds Programs lkekU; dke
ds fy, vkSj Programming ds Basic Fundamental dks le>us ds fy, dkQh vPNs gksrs gSa]
ysfdu ;s Programs MS-Windows tSls Multitasking Environment ds fy, dke ds ugha
gksrs gSaA
Windows Environment esa Computer dk gj Resource dbZ Application Programs }kjk
Share gksrk gSA tSls fd Screen, Keyboard, Mouse ;gka rd fd User Hkh Share gksrk gSA
Windows ds fy, fy[ks x, Softwares esa ;s fo”ks’krk gksuh pkfg, fd os leku le; esa Run
15
www.BccFalna.com
Windows Programming in C
gks jgs fofHkUu izdkj ds Windows o Windows ds vU; Applications Softwares ds lkFk
feydj dke dj ldsaA
Windows ds bl izdkj ds lg;ksxiw.kZ okrkoj.k esa tc Hkh fdlh Program esa dksbZ Event
Generate gksrk gS] rks Windows }kjk ml Program dks ,d Message Hkstk tkrk gSA
Program dks tks Hkh Message Hkstk tkrk gS] mldk ,d fo”ks’k mn~ns”; gksrk gSA
mnkgj.k ds fy, tc Hkh fdlh Program ds fdlh Menu ds fdlh Option dks Select fd;k
tkrk gS rks Window }kjk Program dks ,d Message Hkstk tkrk gSA tc Hkh fdlh Dialog
Box ds fdlh Command dks Click fd;k tkrk gS rks Window }kjk Dialog Box dks ,d
Message Hkstk tkrk gSA
;kuh tc Hkh Program esa dksbZ Event Generate gksrk gS] Window }kjk ml Event dks
Handle djus ds fy, ,d Message Hkstk tkrk gSA Message Passing Windows dh ,d
eq[; fo”ks’krk gSA bl izfØ;k dks ,d mnkgj.k }kjk le>rs gSa&
eku yhft, fd geus ,d ,slk Program fy[kk ftlesa ,d Form ij ,d Button gSA ge tc
Hkh bl Button ij Click djrs gSa] rks Form ij “Welcome To Window Programming”
String Print gks tkrk gSA pfy,] le>us dh dksf”k”k djrs gSa fd ,d Window Based
Program fdl izdkj ls Execute gksrk gSA
tc ge bl Program dks Run djrs gSa] rks Program ds fofHkUu Data Initialize gksrs gSa vkSj
Window Display gksrk gS] ftl ij ,d Command Button gSA blds ckn Program, User
ls Input dh izrh{kk djrk gSA
tc User Form ij fLFkr Button ij Click djrk gS] rc Mouse dk Click Event
Generate gksrk gSA bl Event dks Mouse dk Device Driver Identify djrk gS vkSj bl
Event dh Information Windows dks nsrk gSA
ftl rjg gj fØ;k dh izfrfØ;k gksrh gS mlh rjg Windows bl Event dh izfrfØ;k ds :i
esa ml Application dks ,d Message Hkstrk gS] ftlds Form ij fLFkr Button ij Click
fd;k x;k gSA ;s Message Application Program dks crkrk gS fd ml Program ds fdl
LFkku ij Click Event Generate gqvk gSA bl izdkj ls Operating System Windows fdlh
Hkh Application dks Message Hkstdj mlls Communication djrk gSA
tc Application Program Operating System Windows ls Message izkIr djrk gS] rks
og okil Operating System ls Communication djds String dks Screen ij Display
djus ds fy, Windows ds ,d API Function dks Call djrk gSA ;s API Function vc
16
www.BccFalna.com
Windows Programming in C
Monitor ds Graphics Card ds Device Driver ls Communication djrk gS vkSj String
dks Monitor ij Display dj nsrk gSA
bl rjg ge ns[k ldrs gSa fd Windows Programming Modal esa Application o Operating
System ds chp ,d Two-Way Communication gksrk gSA ;kuh Computer dk iwjk Control
fdlh Hkh le; fdlh ,d ds ikl ugha gksrk cfYd nksuksa fey dj fdlh leL;k dk lek/kku izkIr
djrs gSaA
bl Programming Modal esa Application Software dHkh Hkh fdlh Hardware ds lkFk
Direct Communication ugha djrk cfYd API Functions o Windows dh enn ls
Program viuh Requirements dks iwjk djrk gSA
Computer ds fofHkUu Recourses dks ,d gh le; esa Run gks jgs dbZ Programs dks miyC/k
djokuk Windows dh nwljh fo”ks’krk gSA tc Hkh dksbZ Program fdlh Computer Resource
dks Use djuk pkgrk gS rks og Windows ls mls Use djus dh btktr ysus ds fy, ,d
Request Message Hkstrk gSA
Windows Program dh Request dks iwjk djus ds fy, Resource dh Controlling ml
Program dks nsrk gS vkSj tc Program ml Resource dks Use dj ysrk gS] rks Windows
ml Resource dh Controlling okil ys ysrk gS rkfd ml Resource dks dksbZ vU;
Program Use dj ldsA
tSls ekuk fd ;fn Notepad o Word Pad nksuksa esa gh ,d File gS ftls Print djuk gSA ;fn
ge Notepad esa igys Print Command nsrs gSa] rks ,d Message Windows esa tkrk gS vkSj
Printing ds fy, Windows ls Request djrk gSA Windows Notepad dh Request dks iwjk
djus ds fy, Printer dks Access dj ldus okys API Function dks Call djrk gS vkSj Printer
dh Controlling Notepad dks nsrk gSA Notepad dk Data Print gksus ds ckn Printer dh
Controlling okil Windows ds ikl gksrh gSA
;fn vc Word Pad dh fdlh File dks Print djuk gks rks Word Pad ds Print Command
dks Access djrs gSaA vc Word Pad Windows ls Printing ds fy, Request Message
Hkstrk gSA Windows Word Pad dh Request dks iwjk djus ds fy, Printer dh Controlling
WordPad dks nsrk gS vkSj File print gksus ds ckn Printer dh Controlling dks okil izkIr dj
ysrk gSA bl izdkj ,d gh Printer dk iz;ksx Notepad o WordPad nksuksa dj ysrs gSaA
Windows esa First In First Out (FIFO) System esa dke gksrk gSA ftl Software dk tks
Message Windows dks igys izkIr gksrk gS Windows ml Software dh ml Request dks
igys iwjk djrk gS vkSj tks Request ckn esa gksrh gS Windows ml Request dks ckn esa iwjk
djrk gSA
17
www.BccFalna.com
Windows Programming in C
Windows ,d gh le; esa ,d ls vf/kd Programs dks Run djus esa l{ke gS] blfy,
Windows Programs bl izdkj ls Design gksrs gSa fd os System ds fofHkUu Resources dks
Share djrs gSaA
Windows, fdlh nwljs Program ds Modules o Data dks Memory esa Store djus ds fy,]
igys ls Open fdlh Application ds Programs o Data dks Memory esa ,d LFkku ls nwljs
LFkku ij Move djrk gSA bl izdkj dk Movement ;s lqfo/kk nsrk gS fd ge de Memory esa
Hkh ,d ls vf/kd Programs dks Access dj ldrs gSaA
,d Programmer ds :i esa ge ;s ugha eku ldrs gSa fd Program dk dksbZ Hkh fgLlk
Memory esa yEcs le; rd ,d gh Memory location ij jgsxkA Windows gesa bl izdkj ds
Tools iznku djrk gS fd ge Moveable Memory ds lkFk Hkh izfØ;k dj ldrs gSaA
MS–DOS fdlh Hkh Application dks System ds fdlh Hkh Resource dks Access djus ls
ugha jksdrk gS] pkgs Resource fdruk Hkh Critical D;ksa uk gksaA ysfdu Windows esa OS ds Key
Components o Hardware dks Program ls Encapsulated j[krk gS] ftlls Program
Crash gksus dh leL;k ugha gksrh gSA OS fdlh Hkh [kjkc izksxzke ds Misbehaving dks Hkh /;ku
es j[krk gSA CUI – Based Programs User ls Input ysus ds fy, Operating System dks
Call djrs gSa] tcfd Windows Programs User ds Input dks Operating System ls izkIr
Messages ds }kjk Process djrs gSaA
Device Driver
Computer esa gj Device o Hardware dks Use djus ds fy, ml Device ;k Hardware
dk ,d Software gksrk gS tks gj Device cukus okyh Company Device ds lkFk esa iznku
djrk gSA ;s Device Driver Software gh ;s r; djrk gS fd og Device fdl izdkj ls dke
djsxkA
fdlh Device ls dke djokus dh lkjh Functionality mlds Device Driver esa gksrh gSA ge
fdlh Hkh Device ds Device Driver dk iz;ksx djds gh ml Device dks Access dj ldrs
gSaaA tSls ;fn Computer esa Mouse dks pykuk gS rks Mouse dk Driver Memory esa Load
gksuk t:jh gSA ;s Driver gh r; djrk gS fd Mouse fdl izdkj ls dke djsxkA
18
www.BccFalna.com
Windows Programming in C
Dynamic Linked Library (DLL) Files
ge fdlh Hkh Windows Based Program esa ns[ksa rks dqN phtsa gesa yxHkx gj Application esa
Common feyrh gSaA tSls% gj Window Based Application esa de ls de ,d Form
Window gksrk gS] Buttons gksrs gSa] Menu System gksrk gS] vkfnA
blh rjg dqN Dialog box Hkh yxHkx gj Application esa ,d tSls gksrs gSaA tSls% Open
Dialog Box, Save As Dialog Box, Print Dialog Box, Status Bar vkfnA ;s lHkh phtsa lHkh
Applications esa ,d tSlh blfy, gksrh gSa D;ksafd ;s lHkh phtsa Windows ds lkFk gh Hard
Disk esa Install gks tkrh gSaA
;kuh ;s lHkh phtsa gesa Programming }kjk ugha cukuh iMrh cfYd ;s lHkh phtsa igys ls gh
Windows ds Operating System esa gekjs Computer esa miyC/k jgrh gSaA bu lHkh phtksa dks
izkIr djus ds fofHkUu izdkj ds Functions gksrs gSa] ftUgsa API Functions dgrs gSaA ;s
Functions DLL Files ds :i esa Window esa gesa”kk gksrh gSaA
DLL Files os QkbZysa gksrh gSa tks Binary Form esa Windows ds lkFk gh Install gks tkrh gSa
vkSj fdlh Hkh Application ls dsoy mlds Run Time esa gh Connect gks dj] ml
Application dh Requirement dks iwjk djrh gSaA bu Qkbyksa esa fofHkUu izdkj ds API
Functions Binary Format esa gksrs gSaA ge gekjs Program esa tc pkgsa rc bUgsa Call djds
Use dj ldrs gSaA
pwafd ;s Files gesa”kk Windows ds System uke ds Folder esa gksrh gSa blfy, ;s gekjs
Program esa dsoy Program ds Run gksrs le; gh tqMrh gSa vkSj gekjs Program dh
Requirement dks iwjk djrh gSaA ;fn ge fdlh API Function dks vius Program esa Call
djrs gSa rks dsoy ml API Function dk Reference gh gekjs Application esa vkrk gSA tc ge
Program dks Compile djds mldh EXE Generate djrs gSa] rc Hkh bu DLL Files dk
dsoy Reference gh Compiler gksrk gSA
tc ge vius Application dh Exe File dks Execute djrs gSa] EXE File bu DLL Files dks
Run Time esa vius lkFk tksM ysrh gSa vkSj bu DLL Files ds API Functions dks Access
dj ysrh gSaA ge ftu API Functions dks vius Application esa dke esa ysrs gSa os API
Functions ftu DLL Files esa gksrs gSa] os DLL Files gekjs Application ds lkFk Compile
ugha gksrh gSa cfYd dsoy Run Time esa gh tqMrh gSaA
Windows esa yxHkx 1000 ls T;knk API Functions gSa ftUgsa ge vius Program esa Use dj
ldrs gSaA lksafp,] ;fn ;s lHkh Functions gekjs Application ds lkFk Compile gksa rks gekjk
Application Program fdruk cMk cu tk,xkA blhfy, bu Functions dks DLL Files ds :i
esa Windows esa j[k fn;k x;k gSA ;s Functions gekjs Program ds Execution ds nkSjku gekjs
19
www.BccFalna.com
Windows Programming in C
Program ls Dynamically Linked gks tkrs gSa vkSj gekjs Application dh Requirement dks
iwjk djrs gSaA
fofHkUu izdkj ds API Functions dks pkj DLL Files ds :i esa foHkkftr djds Windows dh
System uke dh Directory esa j[k fn;k tkrk gSA ;s pkjksa DLL Files fuEuukuqlkj gSa%
USER32.DLL
bl DLL File esa fdlh Application ds Management o Building ls lEcaf/kr lkjs
Functions gksrs gSaA Input o Output ls lEcaf/kr lHkh dke blh DLL File esa fLFkr API
Functions }kjk lEHko gksrs gSaA Key Board o Mouse ls vkus okys fofHkUu izdkj ds
Inputs o gekjs Application dks Pass gksus okys fofHkUu izdkj ds Messages blh Layer
ls gksdj xqtjrs gSaA User ds Input o Output ls lEcaf/kr fofHkUu izdkj ds Menus,
Cursors, Forms, Check Boxes, Radio Buttons, Commands vkfn cukus ds
Functions blh DLL File esa gksrs gSaA
GDI32.DLL
bl DLL File esa Graphics o Designing ls lEcaf/kr lkjs Functions gksrs gSaA blh DLL
File ds API Functions }kjk ge Screen ij fofHkUu izdkj dh Drawings cuk ikrs gSaA
fofHkUu izdkj ds Fonts, Pens vkSj Brushes Use dj ikrs gSaA
KERNEL32.DLL
bl DLL File esa Computer ds fofHkUu Resources o Operating System ds lkFk
Interactions djus ds API Functions gksrs gSaA ;fn gesa vius Program }kjk viuh RAM
dh Memory Kkr djuh gks] rks ges bl DLL File ds API Functions dk iz;ksx djuk
gksrk gSA
WINMM32.DLL
bl DLL File esa Multimedia Programming ls lEcaf/kr lkjs API Functions gksrs gSaA
bl DLL File ds API Functions dk iz;ksx djds ge fofHkUu izdkj ds Audio, MIDI
Music, Digital Video vkfn ls lEcaf/kr dke dj ldrs gSaA
20
www.BccFalna.com
Windows Programming in C
What Are Messages
Windows Environment ds fy, fy[ks x, Programs esa Main Windows esa Hksts x, Events
ds vuqlkj Windows React djrk gSA Mouse dks Move djuk] Click djuk] Key Board ls
fdlh Key dks Press djuk] fdlh Window dks Activate ;k Deactivate djuk vkfn
Program ds Events gksrs gSA ;s Events Windows esa Message ds :i esa Hksts tkrs gSaA gj
Message dk ,d fo”ks’k mn~ns”; gksrk gS Bhd mlh rjg ftl rjg gj Event dk ,d mn~ns”;
gksrk gSA tSls Window dks Resize djuk] Window dks Close ;k Minimize djuk vkfnA
;kuh fdlh Hkh t:jr dks iwjk djus ds fy, fdlh Hkh izdkj dh Action Event gS vkSj gj
Action Windows ds fy, ,d Message gS ftlds Reaction ds :i esa Windows gekjs
okafNr dke dks iwjk djrk gSA
,d Window Program vU; Window Program dks Hkh Message Hkst ldrk gS D;ksafd
Window Program esa Use gksus okyk gj Control Lo;a ,d Window gksrk gSA Messages
dk iz;ksx vDlj Controls ds lkFk Communication djus ds fy, Hkh gksrk gSA ,d Windows
Program nks vyx rjg ds Messages dks Handle djrk gS &
• os Messages tks Operating System }kjk Program dks Hksts tkrs gSa mUgsa vkSj
• os Messages tks fdlh Control ls o Control dks Hksts tkrs gSa tks fd User ds
Input }kjk dk;Z djrs gSaA
os Messages tks fdlh Program dks pkyw ;k cUn djus dk funsZ”k nsrs gSa ;k fdlh Window
dks Resize ;k Move gksus dk funsZ”k nsrs gSa] Operating System }kjk fdlh Program dks Hksts
tkus okys Message gksrs gSaA
fdlh Window }kjk Use gks jgs Font ;k Window ds Title dks Change djus ds fy, fdlh
Control }kjk Program Window dks Message Hkstk tkrk gS vkSj Program esa fdlh Edit
Control esa User }kjk Text Input fd;k x;k gS ;k dksbZ Character Press fd;k x;k gSA ;s
Notification fdlh Control }kjk Program Window dks izkIr gksrk gSA Windows esa
Messages dks nks dkj.kksa ls bruk vf/kd bLrseky fd;k tkrk gS&
• Message Physical Data dk ,d fgLlk gksrk gS blfy, ;s vklkuh ls Prioritized o
Queue gks tkrk gSA
• Message fdlh Hkh fo”ks’k Language ;k Processor Type ij Depend ugha gksrk gS
blfy, ,d Message Based Program dks fdlh Hkh vU; Computer ij vklkuh ls
Run fd;k tk ldrk gSA
21
www.BccFalna.com
Windows Programming in C
Event Driven Programming ds fy, Queues dkQh vPNh rjg dke djrs gSaA tc Hkh dksbZ
Event Generate gksrk gS rks rqjar ,d Message Create gksrk gS vkSj lEcaf/kr Program ;k
Window dh Queue esa “kkfey gks tkrk gSA fQj ml Program ds Queue esa fLFkr gj
Message dks fdlh Hkh Øe esa Handle fd;k tk ldrk gSA
Event – Driven Architecture
Windows Environment rc rd dqN Response ugha nsrk gS tc rd fd Windows Open
fd, tkus okys Program dks Message Pass ugha djrk gSA Windows Message dks le>us
ds fy, gesa Programming dk ,d u;k rjhdk viukuk iMrk gS] tks fd ,d u;k Program
Architecture gksrk gS] tks Event–Driven Programming dgykrk gSA Windows Event-
Driven Programming Architecture dks Use djrk gSA ;s ns[kus ds fy, fd gesa bl u,
izdkj ds Program Architecture dh t:jr D;ksa gS] ge igys ;s ns[krs gSsa fd CUI
Environment esa Program fdl izdkj ls dke djrk gSA
Traditional MS DOS Program Model
,d Typical CUI Environment esa] ge Program ls fuEu Manner esa Interact djrs gSa %
PROGRAM gesa Prompt djrk gS Enter your Name
ge Response djrs gSa Kuldeep Mishra
PROGRAM gesa Prompt djrk gS Press X to Exit
ge Response djrs gSa X
ge ns[krs gSa fd Program rc rd :dk jgrk gS] tc rd fd ge Response ugha djrs gSaA
tc rd ge Response ugha djrs gSa] Computer ,d Infinite Loop esa pyrk jgrk gS vkSj
Computer Busy jgrk gSA ;s ckj&ckj Keyboard dh Query djrk jgrk gS fd Input gqvk ;k
ughaA gkykafd Computer User ls Input ds fy, Wait djrk gS ysfdu fQj Hkh CPU yxkrkj
Instructions Execute djds ;s irk djrk jgrk gS fd Input gqvk ;k ughaA
ikjEifjd rjhds esa OS dk eq[; dke fdlh Program dks “kq: djuk vkSj Program Control
dks ml Application dks Pass dj nsuk gksrk gSA bl rjg tc ,d Program dks “kq: fd;k
tkrk gS] rks tc rd Program dks Terminate ugha fd;k tkrk] rc rd Computer dk lkjk
Control ml Program ds ikl gh jgrk gS lkFk gh CPU iwjh rjg ls Busy jgrk gSA tc dksbZ
I/O Event gksrk gS] tSls fd dksbZ Key Press dh tkrh gS] rks Key dh Information lh/ks gh
Opened Application Program dks Pass gks tkrh gSA tSlkfd fuEu fp= esa crk;k x;k gS%
22
www.BccFalna.com
Windows Programming in C
Windows Program Model
Traditional MS DOS Program dsoy Single Task ds fy, gh mi;ksxh gSSA ;kuh ,d le; esa
dsoy ,d gh Program Execute gks ldrk gSA fQj Hkh Windows esa ,d gh le; esa Screen
ij fn[kkbZ nsus okys fofHkUu Application Programs dks CPU dk Time Share djrs gq,] ,d
ls vf/kd Program Memory esa jg ldrs gSaA Windows o User ds chp gksus okys fofHkUu
izdkj ds Interactions Messages }kjk gksrs gSaA tc ge Windows dks Use djrs gSa] rc dqN
loky iSnk gksrs gSa &
1 Windows Environment esa ;fn ,d Application Program py jgk gS vkSj ge
CTRL + ESC Key Combination dks Press djrs gSa] rks bls dkSu Handle djrk gS
2 ;fn dbZ Applications py jgs gSa] vkSj ge dksbZ Key Press djrs gSa] rks ;s dkSu r;
djrk gS fd Press dh tkus okyh Key fdl Application ds fy, Press dh xbZ gS
3 ;fn ge Mouse dk Button nckrs gSa] rks ;s dkSu r; djrk gS fd dkSulk Application
Affected gksxk
4 ;fn nks Application Printer dks Use djuk pkgrs gSa] rks ;s dkSu r; djrk gS fd
dkSulk Application igys Printer dks Access djsxk
bu lokyksa dk fo”ys’k.k djds ge tku ldrs gSa fd Traditional MS DOS Programming
Model Windows esa dke ugha djsxkA dksbZ ,d Application Program ;s r; ugha dj ldrk
gS fd Press dh tkus okyh Key fdl Application ds fy, gSA dksbZ vU; Program gh bl
ckr dk irk j[k ldrk gSA
Windows lHkh izdkj ds Mouse Clicks, Keystrokes, Disk and Printer Access o I/O
Related Events dks Handle djus ds fy, ftEesnkj gksrk gSA dksbZ Hkh Single Program fdlh
I/O Device dk Direct Control ugha ys ldrk gSA ;fn ,slk gksrk gS] rks nwljk Application
fdlh izdkj dk Input ughas ys ldsxk tks fd mlds fy, gksxkA
I/O Event
(For example, a key press)
Application
I / O Event Interacting Directly with the Application
23
www.BccFalna.com
Windows Programming in C
tc ge Mouse Button Click djrs gSa] rks Windows ;s irk djrk gS fd Mouse Cursor dgka
gS vkSj Mouse Click dh Information dks mlh Application dks Transfer djrk gS] tks
Application Mouse Click fd, x, Area ds Just uhps gksrk gSA vU; Program] tks fd
Screen ij fn[kkbZ ns jgs gSa] Unaffected jgrs gSaA
tc ge dksbZ Key Press djrs gSa] rks Windows ;s irk djrk gS fd dkSulk Application
Currently Active gS vkSj mlh Application dks Keystroke Information Hkst nsrk gSA fuEu
fp= esa crk;k x;k gS fd fdl izdkj ls Windows esa Events dks Handle fd;k tkrk gS &
nwljs “kCnksa esa] System esa ftrus Hkhs Messages Generate gksrs gSa] os lHkh System dh
System Queue esa Queued Up gks tkrs gSa] ftUgsa Windows }kjk Maintain fd;k tkrk gSA
System Queue ls] Windows fofHkUu Applications ds Messages dks Filter djrk gS vkSj
mUgsa Appropriate Application Message Queue esa Move djrk gSA ;s Application dh
Responsibility gS fd og Message Queue ls Message dks izkIr djs vkSj mls Process
djsA
Different Messages Different Applications esa Different rjhds ls Respond djrk gSA tSls
fd MS–Paint esa Mouse Drag djus ij ,d Line curh gS] tcfd MS-Word esa Mouse dks
Drag djus ij Characters Select gksrs gSaA Windows Based Applications esa ftrus Hkh
Events gksrs gSa] os lHkh Message Generate djrs gSa] ftudks Windows Manage djrk gSA
Windows Application Development Tools
Code fy[kuk vkSj mls Compile djuk gh Application Building ugha gSA Code fy[kus ds
ckn mls Debug djuk] Test djuk] Deploy djuk o Maintain djuk Hkh Developer dk gh
dke gSA ,slk djus ds fy, dqN Tools o Environment dh t:jr gksrh gSA mnkgj.k ds fy,]
SDK gesa ,d Compiler nsrk gS] tks fd gekjs Codes dks Compile djrk gS vkSj ,d
24
www.BccFalna.com
Windows Programming in C
Debugger gksrk gS] ftldk iz;ksx ge Program dks Debug djus esa djrs gSaA bl Software
dks ge lk/kkj.kr;k IDE dgrs gSaA
SDK ( Software Development Kit )
SDK ,d ,slk IDE gS] tgka Developer fofHkUu WIN32 API Structures o Functions dk
iz;ksx djds Windows Based Programs Develop djrs gSaA ,d API dks ge Software dh
,d ,slh iryh ijr ds :i esa Define dj ldrs gSa tks fd Developer dks dqN Functionality
iznku djrk gSA API tks Functionality iznku djrk gS] og Functionality Application o
Windows Based OS ds chp ,d Interface dh rjg dke djrk gSA bl Concept dks fuEu
fp= }kjk le>k tk ldrk gS &
Difference Between Procedure (Routine) And Functions
bu nksuksa esa eq[; vUrj ;gh gS fd Functions gesa”kk dksbZ uk dksbZ eku Return djrs gSa tcfd
tks Function fdlh izdkj dk dksbZ eku Return ugha djrs] mUgsa Procedure ;k Routine dgrs
gSaA
Message Passing
Windows okLro esa gekjs fdlh Hkh Application Program esa fdlh Function dks Call ugha
gksus nsrk cfYd Windows gekjs Application Program ds gj Function dks Lo;a Call djrk
gSA Application dks ftu Parameters dh t:jr gksrh gS] mu Parameters dks Application
25
www.BccFalna.com
Windows Programming in C
dks nsrk gS vkSj Application dks fofHkUu izdkj ds Messages ns dj mls crkrk gS fd mls dc
D;k djuk gSA
Application Windows OS ls vkus okys Messages dks Process djds irk yxkrk gS fd
Windows OS mlls D;k djokuk pkgrk gSA Message dk irk yxkus ds ckn Application
program mu Message ds vuqlkj dke djrk gSA
Windows T;knkrj le; gekjs Application dks fofHkUu izdkj ds Messages Send djds
gekjs Application ls Communication djrk gSA Message Passing djuk fdlh
Procedure dks Call djus dk ,d Modern rjhdk ek= gSA
lh/ks rjhds ls dgsa rks dg ldrs gSa fd fdlh Application dks Message Hkstuk ;k ml
Application ds fdlh Function dks Call djuk nksuksa ckrksa dk ,d gh eryc gSA pfy,] bl
ckr dks Real Life ls tksMrs gq, ,d mnkgj.k ls le>rs gSaA
eku yks fd ,d tkWu uke dk vkneh gS ftldh rhu Book Stalls gSaA rhuksa Book Stalls ij
mlus rhu Employee j[ks gSa tks mldh Book Stall ij dke djrs gSaA viuh gj Book Stall
dks mlus ,d Unique Number ns j[kk gS ftlls og vius fdlh [kkl Book Stall dks igpku
ysrk gSA tkWu dk dke djus dk ,d [kkl rjhdk gSA
rhuksa Book Stalls ij ,d&,d Phone gS ftlls og gj le; vius rhuksa Book Stalls ls
tqMk jgrk gSA mldk dke djus dk rjhdk ;s gS fd tc Hkh fdlh Book Stall ls dksbZ Book
Sell gksrh gS rks ml Book Stall dk Employee tkWu dks Qksu djrk gS ;kuh Call djrk gS
vkSj mls crkrk gS ;kuh Message nsrk gS fd mldh Book Stall ls dkSulh Book Sell gqbZ gSA
;gh rjhdk Window Operating System esa Message Passing dk gSA Window OS
Application ls fdlh Functions dks Call djrk gS vkSj mls ,d Message nsrk gSA
Message esa og crkrk gS fd Application dks D;k djuk gSA bl Message ds eku dks
Process djds gekjk Application fofHkUu izdkj ds dke djrk gSA
bls FkksMk vkSj vyx rjhds ls ns[ksa rks fdlh Function dks Call djus dk eryc] ml Call fd,
tk jgs Functions ds Statements dks Execute djus ds fy, Computer ds Control dks
FkksMh nsj ds fy, ml Function esa Hkstuk gksrk gSA tSls gh Function ds Statements dk
Execution gks tkrk gS Windows Control dks okil izkIr dj ysrk gSA blh izfØ;k dks
Windows esa Message Pass djuk dg ldrs gSaA
Message okLro esa dqN Parameters ;k Arguments dh ,d List ds vykok dqN ugha gksrk
gSA ;fn ge gekjs Application Program dks /;ku esa j[krs gq, ns[ksa rks fdlh Standard
26
www.BccFalna.com
Windows Programming in C
Procedure ;k Function dks Call djus vkSj gekjs Application esa Windows OS }kjk
Message Pass djus esa cgqr gh de vUrj gksrk gSA
Message Send djus ij Windows gekjs Application dks dqN Parameters Hkstrk gSA ;s
Parameters Application dks crkrs gSa fd Windows ml Application ls D;k djokuk pkgrk
gSA blfy, gekjs Application esa fofHkUu izdkj ds Subroutines dks Call djus ds ctk;
Windows flQZ ,d Special izdkj ds Procedure dks Call djrk gS ¼ftls Window
Procedure ;k wndproc dgrs gSaA½ vkSj bl Procedure esa Message Hkstrk gS] ;kuh
Arguments ;k Parameters dh ,d List Hkstrk gSA
Windows }kjk Hksts tkus okys Message (Parameters) Window Procedure dks crkrs gSa
fd dkSulk Event Generate gqvk gS ftls ml Window Procedure dks Handle djuk gSA
rc Window Procedure ml Event dks Handle djus okys Codes dks Execute djus ds
fy, Control dks mu Code Block esa Transfer (Dispatches) djrk gS] tks ml Event dks
Handle djrs gSaA
DOS vkSj Windows ds Procedure Calling esa ,d gh vUrj gS vkSj og ;s gS fd DOS
Based Application Program esa ge DOS ds Procedures dks Call djrs gSa] tcfd
Windows Based Procedure Call esa Windows gekjs Application ds fofHkUu Procedures
dks Call djrk gSA
Windows gekjs Application dks tks Messages Hkstrk gS os dkQh NksVs yxHkx 16 Byte ds
gksrs gSaA bu 16 Bytes esa ls 4 bytes esa Message dh Identification gksrh gSA ;kuh ,d
Integer eku gksrk gS tks gekjs Window Procedure dks crkrk gS fd dkSu lk Operation ;k
dke djuk gSA
bUgh 16 Byte esa ls 4 Byte dk ,d Window Handle gksrk gSA ge gekjs Program esa
Window ds ftrus Hkh Functions Call djrs gSa] mu lHkh esa bl Window Handle dh t:jr
gksrh gSA cps gq, 8 Byte esa 4 Byte ds nks Data Parameter gksrs gSa] tks gekjs Program dks
Message ls lEcaf/kr Data iznku djrs gSaA
Handles
blls igys fd ge Windows dh Coding ds ckjs esa ckr djsa] gesa lcls igys Windows ds
Data Structure dks le>uk gksxk] ftls Handle dgrs gSaA Windows OS esa ftrus Hkh
Objects tSls fd Buttons, Menu Items, Forms vkfn gksrs gSa mu lHkh Object dk 4 Byte
dk ,d Unique Integer Number gksrk gS] ftlls fdlh veqd (Specific) Object dh igpku
27
www.BccFalna.com
Windows Programming in C
gksrh gSA blh Unique Number dks Handle dgrs gSaA ;kuh Windows ds gj Object dk ,d
Handle gksrk gS] ftlds }kjk Windows ml Object dks igpku ikrk gSA
fdlh Hkh Object dk tks Handle gksrk gS] og flQZ Windows ds mi;ksx ds fy, gksrk gSA
Programmer dks ml Handle ls dksbZ eryc ugha gksrkA fdlh Hkh Handle dk eku
Windows esa fLFkr fdlh Table esa ,d Index Number ds :i esa gksrk gSA bl Table esa
Windows ds fofHkUu Objects ds Reference Number gksrs gSaA tc Hkh Windows fdlh
Object dks Access djuk pkgrk gS] Windows ml Table ls ml veqd Object ds
Reference Number ;k Handle ls ml Object dks Access djrk gSA
API Functions ds Call djus ij Windows OS Use gks jgs fdlh Object ds Handle ;k
Unique Index Number dks gekjs Application Program esa Hkstrk gSA gekjs Application
Program dks ml Handle dks Save djuk gksrk gS rkfd tc Hkh ml Object dks Access
djuk gks] gekjk Application ml Handle dk iz;ksx djds ml Object dks Access dj ldsA
fofHkUu izdkj ds Handles dks Header Files esa Define fd;k x;k gksrk gSA okLro esa ge
fdlh Hkh Handle ds lkFk fdlh Hkh izdkj dh dksbZ izfØ;k ugha djrs gSaA ge dsoy ml Handle
dks Win32 API Functions esa Hkstrs gSaA
Windows esa Programming djrs le; ge Hungarian Notation dks Use djrs gSa rkfd
ge Windows ds fofHkUu izdkj ds ukeksa dks igpku ldsaA ftl fdlh Hkh Variable ds uke ds
milxZ ds :i esa “h” dk iz;ksx fd;k tkrk gS] og ,d Handle Variable gksrk gSA
;kuh ml Variable esa fdlh Object dk Handle Number gksrk gSA tSls fdlh Variable dk
uke ;fn hWnd gS] rks bldk eryc gS fd ml Variable esa fdlh Window dk Handle ;k
Unique Integer Number ;k Unique ID Number gS] ftlls ml Window dh igpku gks
ldrh gS vkSj ge ml Window ds lkFk dke dj ldrs gSaA Handle dh gesa D;k t:jr gS bls
le>us ds fy, ,d mnkgj.k ns[krs gSaA
ekuk fd ,d Dialog Box gS ftl ij ,d Command Button gSA gesa Program ds Run
Time esa Dialog Box dk Title Change djuk gSA bl fLFkfr esa ge ;s dSls r; djsaxs fd ge
tks Coding fy[k jgs gSa og Dialog Box dk Title Change djsxk ;k Dialog Box ij fLFkr
Button dkA
;gka ge Handle dk iz;ksx djds ;s r; djrs gSaA D;ksafd gj Form o Button dk ,d Unique
Number gksrk gS ftls ml Object dk Handle dgrs gSaA vc ;fn ge Dialog Box ds Form
dk Handle Use djsaxs rks Dialog Box ds Form dk Title Change gksxk vkSj ;fn ge
Button ds Handle dk iz;ksx djsaxs rks Button dk Title Change gksxkA Handle dksbZ
Pointer ugha gksrk cfYd “C” Programming Language in Hindi File Management ds
28
www.BccFalna.com
Windows Programming in C
vUrxZr geus ftl Handle dk iz;ksx fd;k Fkk] ogh Handle Windows dh Programming esa
Hkh gksrk gSA
29
www.BccFalna.com
Windows Programming in C
Windows
Programming
Using C
30
www.BccFalna.com
Windows Programming in C
Windows Programming In C
Main Program
fdlh Hkh GUI Application esa vyx&vyx Applications esa main Program esa cgqr gh de
cnyko gksrk gSA ge ,d ckj ,d Window dks cukus ds fy, tks Code fy[krs gSa] vU; fdlh
Program esa mlh rjg dk Window cukus ds fy,] ges dsoy mu Codes dks Copy djds
Paste gh djuk gksrk gSA
ckj&ckj dksbZ Window Create djus ds fy, gesa iwjs main Program dh Coding djus dh
t:jr ugha gksrh gSA ysfdu fo/kkfFkZ;ksa dks Visual “C” dh Programming lh[krs le; gj ckj
main Program fy[kus dh dksf”k”k djuh pkfg, ugha rks “C” esa Graphics dh Programming
djus okyk tYnh gh Hkwy tk,xk fd fdlh main Program dh dkSu lh Coding fdl fy,
fy[kh xbZ gSA Window dh Coding cgqr gh tYnh fnekx ls fudy tkrh gSA
fdlh Hkh GUI Application ds main Program dk lcls t:jh dke mlds Window
Procedure dks Operating System esa Register djuk gksrk gSA fcuk Window Procedure
dks OS esa Register djk, ge dksbZ Hkh dke ugha dj ldrsA D;ksafd tc rd main Program
Application ds Window Procedure dks Window esa Register ugha djokrk] ge Window ds
fdlh Hkh Built-In Function (API Functions) ;k Window }kjk iznku dh tkus okyh fdlh
Hkh lqfo/kk dks izkIr ugha dj ldrsA
fdlh Window Procedure dks OS Windows esa Register djokuk ,d yEch izfØ;k gSA
okLro esa ge Window Class dks Windows OS esa Register djokrs gSaA Window Class
,d Data Structure gS Bhd mlh rjg] ftl rjg Arrays, Structures o Unions vkfn Data
Structure gSaA bl Class esa gekjs Application ls lEcaf/kr Window dh t:jh Information
dks Initialize fd;k tkrk gSA
;kuh bl Class esa ge Operating System Windows dks crkrs gSa fd gesa fdl izdkj dk
Window Create djuk gSA gekjs main Program dk ,d eq[; dke bl Class Data
Structure dks Initialize djuk Hkh gksrk gSA ;kuh ge gekjs Create gksus okys Window dh
Data Structure Initialize djus ds ckn Windows Operating System dks Call djds ml
Window Class dks Register djokrs gSaA
gkykafd Microsoft bl Structure dks Describe djus ds fy, “class” “kCn dk iz;ksx djrk
gSA ysfdu ;s flQZ ,d rjhdk gSA okLro esa WINDOW Class ,d Structure gksrk gS vkSj
ftl rjg fdlh Structure izdkj ds Variable ge gekjh t:jr ds vuqlkj Create djrs gSa]
31
www.BccFalna.com
Windows Programming in C
oSls gh ge WINDOW izdkj ds Variable Create djrs gSaA WINDOW izdkj ds Variables
dks Object dgk tkrk gSA
tSls WINDOW ,d Class gS vkSj ge WINDOW izdkj dk ,d Variable Create djuk pkgsa
rks ge WINDOW win; Code }kjk WINDOW Class dk ,d Variable Declare dj ldrs
gSaA /;ku j[ksa fd Microsoft us bl Class “kCn dk iz;ksx Object Oriented Programming
Concept ds Develop gksus o C++ esa Object Oriented Programming rduhd dks tksMus ls
igys cuk;k FkkA bl Class dk Object Oriented Programming ls dksbZ lEca/k ugha gSA
gkykafd Microsoft dh MFC (Microsoft Foundation Class) Library Object Oriented
Programming Concept ij vk/kkfjr gSA
pfy,] igys Class dks FkksMk le> ysa rkfd OOPS esa o Windows Based Programming esa
Use gksus okys Class ds chp dksbZ Confusion uk jg tk,A fdlh Hkh Object ;k pht ds lewg
dks mldh izd`fr ds vuqlkj ,d lewg esa O;ofLFkr dj nsuk vkSj mldk ,d uke ns nsuk] bl
izfØ;k dks ge ,d Class cukuk dg ldrs gSaA
tSls bUlkuksa dks ge ,d Class ;k oxZ esa foHkkftr dj ldrs gSaA bl oxZ esa dsoy bUlku gh
gksrs gSa ftudh viuh dqN vyx fo”ks’krk,a gksrh gSa] ftlls mUgsa vU; thoksa ls vyx :i esa
igpkuk tkrk gSA tSls gj bUlku ds nks gkFk] nks iSj] ,d eqag] ,d uke vkfn gksrk gSA ge bUlkuksa
dk ,d oxZ ;k Class cuk ldrs gSa ftlesa bUlkuksa ds fofHkUu izdkj ds xq.kksa dks lfEefyr dj
ldrs gSaA
blh rjg ge pyus fQjus okys tkuojksa dk Hkh ,d oxZ cuk ldrs gSa] ftlesa fofHkUu izdkj ds
tkuojksa dh fo”ks’krk,a gks ldrh gSA vkSj vkxs lkspsa rks ge fofHkUu izdkj ds Vehicles dh ,d
Class cuk ldrs gSa] ftlesa ge Two Wheelers, Three Wheelers, Four Wheelers vkfn
okguksa dh fo”ks’krk,a Store dj ldrs gSaA
blh Concept ds vk/kkj ij Computer ds GUI esa dke vkus okys fofHkUu izdkj ds Objects
dks Hkh ,d&,d Class esa foHkkftr fd;k x;k gSA tSls fofHkUu izdkj ds Window dh Class,
Buttons dh Class, Menus dh Class vkfnA ftlesa fdlh Object dh fofHkUu izdkj dh
Specifications dks Store djds j[kk tk ldrk gSA
okLro esa ;s Classes ,d Structure gksrs gSaA budk Structure mlh rjg cukrs gSa] ftl rjg
geus Structure Chapter ds vUnj cukuk lh[kk gSA ge ;gka ftl izdkj ds Class dh ckr dj
jgs gSa og blh izdkj dh ,d Class gS] ftlesa fdlh Window dh fofHkUu izdkj dh fo”ks’krkvksa
dks ,d lkFk ,d lewg esa j[kus o lapkfyr djus ds fy, ge Windows Class dk ,d
Structure cuk ysrs gSa vkSj fQj bl Structure esa vyx&vyx izdkj ds eku Initialize djds
vyx&vyx izdkj ds Window Create djrs gSaA
32
www.BccFalna.com
Windows Programming in C
Hungarian Notation
Visual C dh Programming esa fofHkUu izdkj ls Variables ds ukeksa dks Use fd;k tkrk gSA
bu ukeksa ds lkFk dqN milxZ yxk, tkrs gSaA bu milxksZa ls ge le> ldrs gSa fd Variable
fdl Data type dk gSA ;s milxZ fuEukuqlkj gSa &
Prefix Data Type
c char
by BYTE (unsigned char)
n short int
i int
x, y int (used as x coordinate or y coordinate)
cx, cy int (used as x or y length; c stands for ‘count’)
b BOOL
w WORD(unsigned short)
l LONG (long)
dw DWORD(unsigned long)
fn function
s string
sz string terminated by a zero
h handle
p pointer
Window Class Structure
pfy,] vc ge ,d Window Class ds Structure dks ns[krs gSaA bl Structure esa fofHkUu
izdkj ds ekuksa dks Initialize djus ds ckn ge bl Window Class Structure izdkj dk ,d
Variable Declare djrs gSa vkSj bl Variable dks Windows Operating System esa Register
djokrs gSaA Registration ds ckn ge bl Window Class ds dbZ Variable ;k Objects
Create dj ldrs gSa vkSj gj Object ,d Window gksrk gSA Window Class ds Structure
dks le>us ds fy, ge lcls igys Window Class dk ,d Variable Declare djrs gSaA ;kuh
WNDCLASSEX NewWindow;
vc ge Window Class ds Structure vkSj mlds fofHkUu Member Variables dks le>us dh
dksf”k”k djrs gSaA Window Class Structure dk izk:i fuEukuqlkj gS ftls window.h Header
File esa Define fd;k x;k gSA
33
www.BccFalna.com
Windows Programming in C
typedef struct
{
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX, *PWNDCLASSEX;
tc Hkh ge gekjs Program esa fdlh Window dks Create djuk pkgrs gSa] rks gesa bl Class
dk ,d Variable Create djuk gksrk gSA Variable Create djus ds ckn gekjs gj
Application ds main Program (og Program ftlesa main() Function fy[kk tkrk gS]
main Program dgrs gSaA) dks bl Window Class ds Structure ds gj Member dks
Initialize djuk gksrk gSA
;kuh main Program esa ge Window Class ds fofHkUu Member Variables dks Initialize
djds ;s r; djrs gSa fd gesa fdl izdkj dk Window Create djuk gSA pfy,] bl Structure
ds gj Member Variable dk D;k dke djrk gS] mls le>us dh dksf”k”k djrs gSaA
1. UINT cbSize;
bl Member esa Structure dh Size dks Initialize fd;k tkrk gSA tSls
NewWindow.cbSize = sizeof(WNDCLASSEX);
UINT dksbZ u, izdkj dk Data Type ugha gS cfYd ;s ,d Unsigned Integer izdkj dk
Variable gS ftls typedef dk iz;ksx djds UINT Declare fd;k x;k gSA ;kuh
typedef unsigned int UINT;
Windows bl eku dks ;s Check djus ds fy, Use djrk gS fd D;k ge ,d
Reasonable Structure dks Register djokus ds fy, Function esa Pass dj jgs gSa ;k
ughaA
34
www.BccFalna.com
Windows Programming in C
2. UINT style;
bl UINT style Member esa ge Window Class dh Style Specify djrs gSaA bl
Member esa tks eku gksrs gSa mlls ;s r; gksrk gS fd Window fdl izdkj dk fn[kkbZ nsxkA
vyx&vyx izdkj dh Styles dks Bitwise OR ( | ) Operator dk iz;ksx djds Combine
fd;k tk ldrk gSA fofHkUu izdkj ds Styles fuEukuqlkj gSa &
• NewWindow.style = CS_BYTEALIGHCLIENT
;s Style Windows OS dks crkrk gS fd og Window dks ,d Even Byte Boundary
ij Align djs rkfd Window Repaint gksus dh Speed rst gksA bldk vlj Window
dh Width vkSj mldh Screen dh Left Position ij gksrk gSA
• NewWindow.style = CS_BYTEALIGNWINDOW
;s Style Windows OS dks crkrk gS fd og Window dks ,d Even Byte Boundary
ij Align djs rkfd Window Repaint gksus dh Speed rst gksA bldk vlj Window
dh Width vkSj mldh Screen dh Left Position ij gksrk gSA
• NewWindow.style = CS_CLASSDC
fdlh ,d Window Class ls Create gksus okys lHkh Window dks ,d Single
Device Context Allocate djrk gS] ftls Class ds lHkh Window Share djrs gSaA ;s
Option rc dke esa vkrk gS tc ge Multiple Thread ij dke djrs gSa tks fd leku
Window esa Write djrs gSaA
• NewWindow.style = CS_DBLCLK
tc User ml Class ds Window ij Double Click djrk gS] ftldh Class mlus
Window OS esa Register djokbZ gS] rc ;s Style Windows OS dks Window
Procedure dks Double Click dk Message nsus ds fy, dgrk gSA
• NewWindow.style = CS_GLOBALCLASS
;s Style fdlh Application dks hInstance Parameter dks] CreateWindow() ;k
CreateWindowEx() Function esa fcuk Pass fd,] Window Create djus dh NwV
nsrk gSA ;fn ge bl Style dks Specify ugha djrs gSa rks CreateWindow() ;k
CreateWindowEx() Functions esa Pass fd;k tkus okyk hInstance Parameter
ogh gksuk pkfg, tks ge RegisterClass() Function esa nsrs gSaA ge ,d Class dks
Dynamic Link Library esa Create dj ldrs gSa vkSj ml DLL Class dk uke
Windows OS dh Registry esa fuEukuqlkj Keys ds iz;ksx }kjk Register djok dj
mls Global Class cuk ldrs gSaA
35
www.BccFalna.com
Windows Programming in C
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NT
CurrentVersionWindowsAPPINIT_DLLS
,slk djus ij tc Hkh Process pkyw gksrk gS] lcls igys Operating System bl
DLL File dks Start fd, x, u, Process esa Load dj nsrk gSA mlds ckn main()
Function Load gksrk gSA
• NewWindow.style = CS_DROPSHADOW
;s Style fdlh Window ij Shadow dk Effect nsrk gSA ;s Effect dsoy Windows
XP esa gh fn[kkbZ nsrk gSA
• NewWindow.style = CS_HREDRAW
;fn Create fd, x, Window dks Horizontally Resize fd;k tkrk gS] rks ;s Style
iwjs Window dks Repaint ;k Redraw djrk gSA tc dHkh ge Window ds fcYdqy
e/; esa fdlh eku dks Display djuk pkgrsa gSa] rks bl Style dks Set djus ij ;fn ge
Window dks Horizontally Resize djrs gSa] rc Hkh Display gksus okyk eku Window
ds fcYdqy e/; esa gh fn[kkbZ nsrk gSA ;fn ge bl Style dks Set uk djsa] rks Window
dks Resize djus ij Window okil Draw ugha gksxk vkSj Changes Refresh ugha
gksaxsA
• NewWindow.style = CS_NOCLOSE
bl Style dks Set djus ij Window ij Close Button Disable gks tkrk gSA
• NewWindow.style = CS_OWNDC
bl Style dks Use djus ij Class ds gj Window dks ,d vyx Device Context
feyrk gSA OWNDC o CLASSDC nksuksa Styles dks ge ,d lkFk Use ugha dj
ldrs gSaA
• NewWindow.style = CS_PARENTDC
bl Style esa Child Window Parent Window ds Device Context esa Inherit gksrk gS
;kuh Child Window Parent Window ds Device Context esa Draw gksrk gSA Child
Window Parent Window ds Device Context dks Use ugha djrk gSA
• NewWindow.style = CS_SAVEBITS
fdlh vU; Window }kjk tc fdlh Window dk dqN fgLlk <d tkrk gS] rc
Windows OS ml <ds gq, fgLls dks Bitmap ds :i esa Save djds System dh
Memory esa j[k ysrk gS vkSj tc nwljk Window igys Window ls gVk;k tkrk gS rc
Window bl Save fd, gq, fgLls dks Window dks fcuk Redraw fd, okil fn[kk
nsrk gSA bl Style dk iz;ksx NksVs Window o Dialog Box ds fy, Bhd jgrk gS
36
www.BccFalna.com
Windows Programming in C
D;ksafd bl Style dks Extra Memory dh t:jr gksrh gS ftlesa Bitmap Save gksrk
gSA
• NewWindow.style = CS_VREDRAW
;fn Window dks Vertically Resize fd;k tk,] rks ;s option Windows OS dks
dgrk gS fd og Window dks Redraw djus dk Message Application dks ns rkfd
Window fQj ls Refresh rjhds ls Draw gks ldsA
lk/kkj.kr;k ge fdlh Application esa CS_HREDRAW o CS_VREDRAW nksuksa
Style Options dks Use djrs gSaA Application dh Requirement ds vuqlkj ge vkSj
Hkh Styles dks Add dj ldrs gSaA
bl rjg ge Create gksus okys gekjs NewWindow dks fuEukuqlkj ,d ls vf/kd Style Hkh
iznku dj ldrs gSaA Style ns ldrs gSa%
NewWindow.style = CS_VREDRAW | CS_HREDRAW;
3. WNDPROC lpfnWndProc;
bl Member Variable esa Application ds main Window ds Window Procedure dk
Address gksrk gSA bl Member dks Initialize djds ge Windows OS dks ;s crkrs gSa fd
og Window Procedure Memory esa dgka gS] ftlesa Windows }kjk Application dks Hksts
tkus okys fofHkUu Messages gksrs gSa vkSj Window Procedure mUgs Process djrk gSA
Window Procedure ,d Application Callback Defined Function gksrk gS tks fd
Windows }kjk vkus okys fofHkUu izdkj ds Messages dks Process djrk gSA Windows
tks Hkh Messages Application dks Hkstrk gS os lHkh Messages blh Function }kjk
Process gksrs gSaA Window Procedure dk Prototype fuEukuqlkj gksrk gS &
LRESULT CALLBACK WindowProc
(
HWND hwnd, // handle of window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
;gka LRESULT vkSj CALLBACK ,d typedef gSa ;kuh
typedef long int LRESULT
37
www.BccFalna.com
Windows Programming in C
typedef _stdcall CALLBACK
;s ,d GUI Programming esa Functions dks Call djus dk ,d Standard rjhdk gSA bls
lkekU;r;k lHkh Functions ds lkFk Use fd;k tk ldrk gSA
hwnd ,d Handle gS ftlds eku }kjk Windows OS fdlh Window dh igpku
djrk gSA
uMsg esa Windows OS }kjk Hksts tkus okys Messages gksrs gSaA
WPARAM o LPARAM esa Messages dh vU; t:jh Information gksrh gSaA ;s
Function Return Value ds :i esa ,d Long Int eku Return djrk gS tks fd Messages
Processing dk ifj.kke ;k RESULT crkrk gSA ;s eku Hksts x, Messages ij fuHkZj
djrk gSA
Window Procedure dks ge foLrkj ls vkxs le>saxs ysfdu ;gka ge gekjs Create gksus
okys Window dk fuEukuqlkj Window Class dks iznku dj ldrs gSa %
NewWindow. lpfnWndProc = MyWindowProcedure;
4. int cbClsExtra;
bl Member esa ge tks eku Initialize djrs gSa] main Program Window Class
Structure ds Variable dks Memory esa txg nsus ds Just ckn mrus gh Bytes dh txg
vkSj Allocate ;k Reserve dj nsrk gSA ;s Allocated Memory gesa ;s lqfo/kk nsrk gS fd
ge gekjh Window Class ls lEcaf/kr tks Applications ds Lrj dh tkudkfj;ka gksrh gSa]
mUgsa bl Allocated memory esa txg fey tkrh gSA
/;ku nsa fd ;fn ge leku Window Class ds ,d ls vf/kd Windows Create djrs gSa]
rks os lHkh Windows Memory esa leku Storage Space dks Share djrs gSaA Windows
OS bl Extra Storage dks Zero ls Initialize dj nsrk gSA
T;knkrj Applications dks muds Main Windows ls lEcaf/kr Extra Space dh t:jr
ugha gksrh gS blfy, Windows OS Lo;a gh blesa 0 Initialize dj nsrk gSA fQj Hkh ;fn gesa
Extra Space dh t:jr uk gks rks gesa blesa 0 Initialize djuk pkfg,A vHkh ge ;s eku
dj pyrs gSa fd gesa Extra Space dh t:jr ugha gS vkSj ge fuEukuqlkj bl Member dks
0 ;k NULL Assign dj ldrs gSa %
NewWindow.cbClsExtra = NULL ; ;k
NewWindow.cbClsExtra = 0 ;
38
www.BccFalna.com
Windows Programming in C
5. int cbWndExtra;
bl Member esa ge ftruk eku Initialize djrs gSa] Windows OS Create gksus okys lHkh
Window ds fy, ml eku ds cjkcj Memory Allocate dj nsrk gSA ge ,d gh Window
Class ds fturs pkgsa mrus Instance ;k Variable Create dj ldrs gSa ;kuh Window
cuk ldrs gSaA
gkykafd ge Main Window gj Application esa dsoy ,d gh cukrs gSa ysfdu
PushButten, Text Boxes tSls Controls ge ,d ls vf/kd cukrs gSaA ;s Extra Storage
bu veqd Controls ds Data dks Hold djds j[krk gSA tSls fdlh Text Box esa fLFkr
Text blh Extra Storage Space esa jgrk gSA
Windows bl Storage Space dks Window Class ds Variable dks Memory esa
Space nsus ds Just ckn bl Member ds fy, Storage Reserve djrk gS ;k bl
Member dks Memory Allocate djrk gSA blesa Hkh Windows OS Lo;a gh 0 Initialize
dj nsrk gSA vHkh ge ;s eku dj pyrs gSa fd gesa Extra Space dh t:jr ugha gS vkSj ge
fuEukuqlkj bl Member dks 0 ;k NULL Assign dj ldrs gSa %
NewWindow.cbWndExtra = NULL ; ;k
NewWindow.cbWndExtra = 0 ;
HANDLE hInstance;
bl Member Variable esa Create gksus okys gj Window dk ,d Handle gksrk gS] ftlls
Windows OS fdlh Specific Window dks igpku ikrk gSA gekjk Program bl eku dks
Windows ls ,d API Functions dks Call djds izkIr djrk gS vkSj Window Structure
ds hInstance Member Variable dks Initialize dj nsrk gSA
;kuh tc gekjk Program Start gksrk gS rc Windows OS gekjs Application dks ,d
Instance Handle Number Hkstrk gSA gekjk Application bl Handle dks hInstance
Member Variable esa Initialize dj nsrk gSA gekjs NewWindow dk Handle Initialize
djus ds fy, ge fuEukuqlkj Statement fy[k ldrs gSa %
NewWindow.hInstance = hInstance;
6. Instance
ftl rjg ls ge int izdkj ds dbZ Variable Create dj ldrs gSa mlh rjg ls ge fdlh
Structure izdkj ds Hkh dbZ Variables Declare dj ldrs gSaA tc ge fdlh Structure
39
www.BccFalna.com
Windows Programming in C
izdkj dk dksbZ Variable Declare djrs gSa] rks GUI Programming esa ml Variable dks
ml Structure dk Instance dgrs gSaA bls Variable dk nwljk uke Hkh dg ldrs gSaA tSls
ekuk dksbZ Structure Student gSA ge Structure Student izdkj ds dbZ Variables
Create dj ldrs gSaA tSls &
Student Raju;
Student Amit;
;s lHkh Structure Student izdkj ds Variables gSaA nwljs “kCnksa esa ge bUgh Students dks
Structure Student dk Instance Hkh dg ldrs gSaA ;kuh Amit Student Structure dk
,d Instance gS mlh rjg Raju Hkh Structure Student dk ,d Instance gSA
7. HICON hIcon;
bl Member Variable esa Windows OS ds fdlh ,d Icon Resource dk Handle gksrk
gSA ftl Icon dk Handle Number bl Member Variable esa gksrk gS] og Icon Task
Bar esa rc Display gksrk gS tc ge gekjs Program ds Window dks Minimize djrs gSaA
;gh Icon gekjs Application Program ds Title Bar ds fcYdqy Left esa Display gksrk gSA
ge u, Icon cuk Hkh ldrs gSa vkSj Windows ds vUnj tks fofHkUu izdkj ds Icons dk
Stock gS] mlesa ls Hkh fdlh Icon dks vius Program esa ys ldrs gSaA
Windows OS esa fLFkr fofHkUu Icons esa ls gesa ;fn vius Program esa fdlh Icon dh
t:jr gks rks ge LoadIcon API Function dk iz;ksx djds ;s dke dj ldrs gSaA bl
Function esa gesa dqN Parameters Hkh nsus gksrs gSaA ;fn bls NULL Initialize fd;k tk,
rks Windows OS bls Default Icon Provide djrk gSA gekjs u, Window ds fy, ;gka
ge bl Icon dks NULL Initialize djsaxsA ;kuh %
NewWindow.hIcon = NULL ; OR
NewWindow.hIcon = 0 ;
8. HCURSOR hCursor;
bl Member Variable esa Windows OS ds fdlh ,d Cursor Resource dk Handle
gksrk gSA bl Cursor dks Windows rc Draw djrk gS tc User Cursor dks
Application Window ds mij Move djrk gSA bl Member esa Hkh ,d Valid Handle
gksuk pkfg, tks fd Windows OS gesa nsrk gSA ge Windows OS ds Cursor Stock dk
iz;ksx dj ldrs gSaA bl dke ds fy, gesa Windows OS ds ,d API Function dks Call
djuk iMrk gSA
fo”ks’k:i ls ge Windows OS ls ,d Arrow Cursor ds Handle dh ekax djrs gSa ftlls
ge gekjs Application Form ds lkFk Interaction dj ldsaA bl dke ds fy, ge
40
www.BccFalna.com
Windows Programming in C
LoadCursor Functions dk iz;ksx djrs gSaA ;fn bls NULL Initialize fd;k tk, rks
Windows OS gekjs Application dks Default Cursor Provide djrk gSA gekjs u,
Window ds fy, ;gka ge bl Cursor dks NULL Initialize djsaxsA ;kuh %
NewWindow.hCursor = NULL ; OR
NewWindow.hCursor = 0 ;
9. HBRUSH hbrBackground;
;s Member Variable ml “Brush” dks Specify djrk gS ftldk iz;ksx Windows OS
gekjs Application Windows ds Background dks Paint djus ds fy, Use djrk gSA
lk/kkj.kr;k ;s ,d Color vkSj Pattern gksrk gS ftls Windows OS gekjs Application ds
Background esa Use djrk gSA
ge fuEu esa ls fdlh Hkh ,d Color Constant dks Use djds vius Program ds
Background dks Fill djok ldrs gSaA ge viuh bPNkuqlkj Hkh u, Color Scheme o
Patterns cuk ldrs gSaA ;s Color Constants fuEukuqlkj gSa%
1 COLOR_ACTIVEBORDER
2 COLOR_ACTIVECAPTION
3 COLOR_APPWORKSPACE
4 COLOR_BACKGROUND
5 COLOR_BTNFACE
6 COLOR_BTNSHADOW
7 COLOR_BTNTEXT
8 COLOR_CAPTIONTEXT
9 COLOR_GRAYTEXT
10 COLOR_HIGHLIGHT
11 COLOR_HIGHLIGHTTEXT
12 COLOR_INACTIVEBORDER
13 COLOR_INACTIVECAPTION
14 COLOR_MENU
15 COLOR_MENUTEXT
16 COLOR_SCROLLBAR
17 COLOR_WINDOW
18 COLOR_WINDOWFRAME
19 COLOR_WINDOWTEXT
41
www.BccFalna.com
Windows Programming in C
ge gekjs Window ds Background ds fy, fuEukuqlkj COLOR_WINDOW Constant
dks Use djsaxsA blls gekjs Window dk Background White Color dk Display gksxkA
;kuh %
NewWindow.hbrBackground = (HBRUSH)(COLOR_WINDOW+1)
;gka geus dks’Bd esa HBRUSH blfy, fy[kk gS D;ksafd Constant eku ,d Integer gS
tcfd HBRUSH ,d Structure gSA Compiler fdlh Integer Constant dks fdlh
Structure izdkj esa Convert ugha dj ldrkA blfy, bldh Type Casting djuk t:jh
gSA
9. LPCTSTR lpszMenuName;
;fn ge gekjs Application esa Menu dks iz;ksx djuk ugha pkgrs gSa rks ge bl Member
Variable dks NULL Initialize dj ldrs gSaA bl Member Variable esa ,d String dk
Address gksrk gS tks fd fdlh Class Menu ds Resource dks Specify djrk gSA ge
gekjs Window ds fy, fQygky bls fuEukuqlkj NULL Initialize djsaxs D;ksafd vHkh gesa
gekjs Window esa Menu dh t:jr ugha gSA
NewWindow.lpszMenuName = NULL ;
10. LPCTSTR lpszClassName;
;s Member Hkh ,d Null ls Terminated String dks Point djrk gS tks fd gekjs Create
gks jgs Window ds Class Name dks Specify djrk gSA ;fn ge gekjs Window Class
dk uke MyWindowClass j[kuk pkgsa rks bls fuEukuqlkj Initialize dj ldrs gSa %
NewWindow.lpszClassName = “MyWindowClass”
11. HICON hIconSm;
bl Member esa fdlh Small Icon dk ,d Handle gksrk gS tks fd Window Class ls
lEcaf/kr gksrk gSA ;fn bl Member esa NULL gks rks System Lo;a gh ml Resource dks
[kkstrk gS tks fd hIcon Member Function ls Specify gksrk gSA bls ge fuEukuqlkj
NULL Initialize dj ldrs gSa %
NewWindow.hIconSm = NULL ;
42
www.BccFalna.com
Windows Programming in C
Window Class ds Variable o Window Class ds lHkh Initialize fd, x, Members dks
ge fuEukuqlkj ,d LFkku ij ns[k ldrs gSa %
WNDCLASSEX NewWindow;
NewWindow.cbSize = sizeof(WNDCLASSEX);
NewWindow.style = CS_VREDRAW | CS_HREDRAW;
NewWindow. lpfnWndProc = MyWindowProcedure;
NewWindow.cbClsExtra = NULL ;
NewWindow.cbWndExtra = NULL ;
NewWindow.hInstance = hInstance;
NewWindow.hIcon = NULL ;
NewWindow.hCursor = NULL ;
NewWindow.lpszMenuName = NULL ;
NewWindow.lpszClassName = “MyWindowClass”
NewWindow.hIconSm = NULL ;
Window Class Structure ds lHkh Members dks Initialize djus ds ckn gesa Window
Class dks Windows OS ls Register djokuk gksrk gSA bl dke ds fy, ge
RegisterClassEx() API Function dks Call djrs gSa vkSj Windows Class ds Object
NewWindow dks bl Function esa Parameter ds :i esa Pass djrs gSaA
RegisterClassEx() Functions dk Prototype fuEukuqlkj gksrk gS %
ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx );
bl Function dks Create fd, tk jgs Window Class ds Address dh t:jr gksrh gS D;ksafd
*lpwcw ,d Pointer gSA ;kuh *lpwcw WNDCLASSEX Structure dk ,d Pointer gSA
bl Functions esa Window Class Structure dks Argument ds :i esa Pass djus ls igys
gesa Window Class dks iwjh rjg ls Initialize djuk gksrk gSA ;fn ;s Functions Successful
gksrk gS ;kuh gekjk Window Class Structure Operating System Windows esa Register gks
tkrk gS] rks ;s Functions ,d 16-Bit Integer Return djrk gS ftls ATOM dgrs gSaA
blh Unique ATOM }kjk ge Registered gksus okyh Class dks Identify dj ldrs gSaA bl
ATOM dk iz;ksx dsoy CreateWindow(), CreateWindowEx(), GetClassInfo(),
GetClassInfoEx(), FindWindow(), FindWindowEx() o UnregisterClass()
Functions ds lkFk gh fd;k tk ldrk gSA
43
www.BccFalna.com
Windows Programming in C
;fn ;s Functions Fail gks tkrk gS ;kuh Window Class Structure dks Register ugha djok
ikrk] rks ;s Functions ,d Non-Zero eku Return djrk gSA ge gekjs NewWindow
Variable dks fuEukuqlkj bl Function esa Hkst dj OS Windows ls Register djokrs gSa %
RegisterClassEx(&NewWindow);
What is a ‘Window Class’?
tSlkfd geus igys crk;k fd Window Class dsoy ,d rjhdk gSA bl Window dk fdlh
izdkj dk dksbZ lEca/k OOP System dh Class ls ugha gSA fdlh Hkh vU; High Level
Language tSls fd C++ o Java vkfn esa Class ,d User Data Type gksrk gS] ftls User
viuh vko”;drk ds vuqlkj cukrk gSA
,d lk/kkj.k lk fu;e gS fd tc ge bl izdkj dh fdlh Hkk’kk esa Class Create djrs gSa] rks og
Class Memory esa rc rd fdlh izdkj dk dksbZ Memory Space Reserve ugha djrk tc
rd fd ge ml Class izdkj ds Variables ;k Instances Create uk djsaA
Class okLro esa dsoy ,d Layout ;k Specification gksrk gS tks ;s r; djrk gS fd dksbZ
Object fdl izdkj dk gS vkSj fdl izdkj ls dke djrk gS rFkk Memory esa fdl izdkj ls
Store gksrk gSA bls ge ,d rjg dk <kapk ;k Blueprint Hkh dg ldrs gSaA tSls ;fn ge fdlh
Student dk Record j[kuk pkgsa rks ge mldh dqN [kkl ckrksa dks Heading ds :i esa j[k dj
,d Table cuk ldrs gSaA fuEu Table dks nsf[k, &
Name Father Name Class City Contact No.
Rajendra Mahendra 10 Falna 3366334466
Mohan Rohan 10 Bali 2222222222
bl Table esa ge ns[k ldrs gSa fd geus fdlh Student dh dqN fo”ks’krkvksa dks ,d Heading
ds :i esa ys fy;k gS vkSj vc ge ftrus pkgsa mrus Students dh mu fo”ks’krkvksa dks bl Table
esa Record ds :i esa Store djds j[k ldrs gSaA blh rjg ls High Level Languages dh
Class dsoy fdlh Object dh Specifications ek= gksrh gSaA blfy, tc rd ge ml Class
ds Instance Create ugha djrs] Class Memory esa dksbZ Space Reserve ugha djrk gSA
bl Class dh rqyuk esa Window Class dks gesa Memory Allocate djuk gksrk gSA Window
Class ds fofHkUu Members dks Initialize djds ge Window Class dks Memory Allocate
djrs gSaA
44
www.BccFalna.com
Windows Programming in C
OOPS ds Class o Window Class nksuksa ds chp dk lcls cMk vUrj budh Storage dk gh
gS] ftlls ge ;s le> ldrs gSa fd nksuksa Classes esa vUrj gSA tc Microsoft Company ds
Engineers us bl Class Term dk iz;ksx fd;k Fkk] rc rd rks OOP o blls lEcaf/kr Class
dk vfLrRo Hkh ugha FkkA ml le; Objects o mldh Class ds ckjs esa dksbZ dqN tkurk gh ugha
FkkA
blfy,] Window Class okLro esa ,d Template gS tks Memory esa ,d Common
Structure cukrk gS vkSj bl Structure dk Duplication dj&djds ge Window dh dbZ
Copy cukrs gSaA bl Window Class dh lcls vPNh ckr ;s gS fd gesa bls dsoy ,d gh ckj
Initialize djuk gksrk gSA mlds ckn gesa bl Class ds ftrus Window dh t:jr gksrh gS] ge
mlh Structure ls mrus Window dh Copies dks izkIr dj ysrs gSaA
vki lksap ldrs gSa fd gesa fdlh Window dh ,d ls vf/kd Copies dh t:jr D;ksa gks ldrh
gSA vkf[kj] fdruh ckj fdlh Application dks Application Window dh ,d ls vf/kd Copies
dh t:jr iM ldrh gSA ;s ,d ls vf/kd Copies curh dSls gSa vkSj bu cuh gqbZ Window dh
Classes dks Initialize djus dk dke dkSu djrk gS
tc gekjs Application ds Main Window dh gh gekjs Application dks t:jr gksrh gS] rc gesa
bl Window Class dh cgqr gh de t:jr jg tkrh gSA fQj Hkh] ,d Typical Windows
GUI Application esa dkQh vf/kd la[;k esa Window dh t:jr gksrh gSA ,slk blfy, gksrk gS
D;kssafd Microsoft Windows Hierarchical Windows Structure dks Support djrk gSA
;kuh ,d cMs (Parent) Window esa ,d NksVk (Childe) Window gks ldrk gSA
fofHkUu izdkj ds User Interface Controls tSls fd Buttons, Text Boxes, List Boxes
vkfn blds mnkgj.k gSaA ;s Lo;a Window gSa ysfdu ;s Child Window gSa vkSj ;s ftl Main
Window ;k Form esa jgrs gSa] og Parent Window gSaA bu lHkh Windows dh viuh Lo;a
dh Window Class gSA
gkykafd ,d Application esa ,d gh Main Window gksrk gS ysfdu ml ij dbZ&dbZ vkSj
vyx&vyx izdkj ds Buttons gks ldrs gSaA gj Button Lo;a ,d Window gS vkSj og
Button ftl txg ij gS og Hkh ,d Window gSA fQj Hkh fdlh Application esa fLFkr] ,d gh
izdkj ds ftrus Hkh Buttons gksrs gSa os lHkh leku Window Class dks Share djrs gSaA
bldk eryc fd ;fn gesa u;k Button cukuk gks rks gesa Button Window Class dk ,d u;k
Window Create djuk gksxkA gekjk Application ftu Buttons dks Use dj jgk gS] mlesa
;fn Create gksus okys lHkh Buttons leku Attribute dks Share djrs gksa] rks gesa gj u,
Button ds fy, Window Class Structure dks Initialize djus dh dksbZ t:jr ugha gksrh gSA
45
www.BccFalna.com
Windows Programming in C
Window Classes dh nwljh lcls vPNh ckr ;s gS fd Microsoft dbZ Common Window
Classes dks Pre-Initialize dj nsrk gSA mnkgj.k ds fy, Common User Interface
Controls dks tSls Buttons, Lists, Text Boxes vkfn dksA
blfy, gesa bl izdkj ds Object ds fy, Window Class dks Initialize djus dh t:jr ugha
gksrh gSA ;fn gesa gekjs Application esa u, Button dh t:jr gS] rks ge “Button” Window
Class dks Specify djrs gq, u;k Window Create dj ldrs gSaA
pwafd Windows OS us igys ls gh Button ds Window Class dks Register dj j[kk gksrk gS]
blfy, gesa Button Class dks Register djokus dh t:jr ugha gksrh gSA
Creating and Displaying a Windows
fdlh Window dks OS ls Register djokus ds ckn gesa Window Create djuk o Screen
ij mls Display djuk gksrk gSA Window dks Register djokus dk eryc dsoy bruk gksrk gS
fd ge tks Window Create djuk pkgrs gSa mldk Template ;k Blue Print dSlk gksxk
ftlds vk/kkj ij ge dbZ Windows Create dj ldsaxsA
Window dks Register djokus ds ckn gesa ,d API Function CreateWindowEx() dks Call
djds gekjs Window dks Create djuk gksrk gSA tc ge bl API }kjk Window Create djrs
gSa rc Hkh og Window Screen ij Display ugha gksrkA ;s Function Window dks Memory esa
Create djrk gSA CreateWindowEx() Functions dk Prototype fuEukuqlkj gksrk gS&
HWND CreateWindowEx
(
DWORD dwExStyle, // extended window style
LPCTSTR lpClassName, // pointer to registered class name
LPCTSTR lpWindowName, // pointer to window name
DWORD dwStyle, // window style
Int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // handle to menu or child-window identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam // pointer to window-creation data
);
46
www.BccFalna.com
Windows Programming in C
bl API Functions esa gesa Window ls lEcaf/kr dbZ t:jh ckrsa Argument ds :i esa nsus gksrs
gSa] ftlds vk/kkj ij ;s Functions Window Create djrk gSA blds fofHkUu Arguments
fuEukuqlkj gSa %
1. DWORD dwExStyle
bl Argument esa gesa fdlh Hkh Window dh Extended Style nsuh gksrh gSA ge pkgsa rks
bldk eku 0 Hkh ns ldrs gSa vkSj pkgsa rks fuEu esa ls fdlh Constant dk iz;ksx Hkh dj ldrs gSaA
bl Parameter esa fuEu esa ls dksbZ Hkh Constant eku gks ldrk gS %
• WS_EX_ACCEPTFILES
;s Argument crkrk gS fd Create gksus okyk Window Drag and Drop Files dks
Accept djsxkA
• WS_EX_APPWINDOW
;s Argument nsus ij Top Level dk tks Window gksrk gS og Window ds
Minimize gksus ij Task Bar esa pyk tkrk gSA
• WS_EX_CLIENTEDGE
;s Argument crkrk gS fd Window ds pkjksa vksj ,d Border gSA
• WS_EX_CONTEXTHELP
;s Argument Window ds Title Bar esa ,d iz”uokpd fpUg Display djrk gSA ;s
Online Help nsrk gSA
• WS_EX_CONTROLPARENT
;s eku gesa ;s lqfo/kk nsrk gS fd ge Tab Key dk iz;ksx djds Parent Window ds
Child Window esa Navigate dj ldrs gSaA
• WS_EX_DLGMODALFRAME
;s eku ,d ,slk Window Create djrk gS ftlds Double Border gksrh gSA
• WS_EX_LEFT
;s ,d Default Property gS ftlesa Window Left Aligned gksrk gSA
• WS_EX_LEFTSCROLLBAR
47
www.BccFalna.com
Windows Programming in C
;fn Shell Language Hebrew ;k Arabic ;k dksbZ ,slh Hkk’kk gks tks Reading Order
Alignment dks Support djrk gks] vkSj ;fn Window esa Vertical Scroll Bar gks rks
og Bar Left esa Align gks tkrh gSA vU; Hkk’kkvksa ds fy, ;s eku Ignore gks tkrk gSA
• WS_EX_LTRREADING
;s ,d Default eku gS ftlesa Window Texts Left To Right Reading Order esa
Display gksrs gSaA
• WS_EX_MDICHILD
;s eku ,d MDI Child Window Create djrk gSA
• WS_EX_NOPARENTNOTIFY
;fn ge bl eku dks Specify djrs gSa rks Child Window Create ;k Destroy gksus ij
Child Window vius Parent Window dks WM_PARENTNOTIFY Message ugha
Hkstrk gSA
• WS_EX_PALWRREWINDOW
bl Constant dks Use djus ij WS_EX_WINDOWEDGE,
WS_EX_TOOLWINDOW o WS_EX_TOPMOST Styles dks Combine Style
gesa izkIr gksrh gSA
• WS_EX_RIGHT
bl Style dk Effect Hkh WS_EX_LEFTSCROLLBAR Style ds leku gh gSA
• WS_EX_RIGHTSCROLLBAR
bl Style ls ;fn Vertical Scroll Bar gks rks og Window ds Client Area ds Right
Side esa vk tkrk gSA
• WS_EX_RTLREDING
bl Style dk Effect Hkh WS_EX_LEFTSCROLLBAR ds leku gh gS ysfdu blesa
Window Text Right To Left Order esa fn[kkbZ nsrs gSaA
• WS_EX_STATICEDGE
bl Constant ls ,d 3-D Border Style dk Window Create gksrk gSA bldk iz;ksx
mu Objects ds lkFk fd;k tkrk gS tks User Input Accept ugha djrsA
• WS_EX_TOOLWINDOW
;s Constant ,d Tool Window Create djrk gSA ,d Tool Window dk Title Bar
Normal Title Bar ls FkksMk NksVk gksrk gS vkSj Window dk Title Hkh FkksMs NksVs Fonts
48
www.BccFalna.com
Windows Programming in C
esa fy[ks gksrs gSaA ,d Tool Window Task Bar esa ;k ml Dialog esa fn[kkbZ ugha nsrk
gS tks ALT+TAB dks Press djus ij Display gksrk gSA
• WS_EX_TOPMOST
;s eku nsus ij Create gksus okyk Window vU; lHkh Non-Topmost Windows ds
mij Display gksrk gS vkSj gesa”kk mij gh jgrk gS pkgs bl Window dks Deactivate
gh D;ksa uk dj fn;k tk,A bl Style dks Add ;k Remove djus ds fy, gesa
SetWindowPos API Function dks Use djuk gksrk gSA
• WS_EX_TRANSPARENT
bl Style ls Create fd;k x;k Window Transparent gksrk gSA ;kuh Create gksus
okys Window ds uhps tks Hkh Window gksxk og gekjs Window esa Display gksrk
jgsxkA bl Style ds Window dks WM_PAINT Message dsoy rHkh izkIr gksrk gS tc
blds uhps fLFkr lHkh Windows Update gksrs gSaA
• WS_EX_WINDOWEDGE
;s Constant Specify djrk gS fd Create gksus okyk Window Border o Raised
Edge ds lkFk Create gksxkA
WS_EX_RIGHT Style dks fdlh Static ;k Edit Control ds lkFk Use djus dk Effect
ogh vkrk gS tks Øe ls SS_RIGHT ;k ES_RIGHT Style dks Use djus ij vkrk gSA
;fn bl Style dks Button Control ds lkFk Use fd;k tk, rks BS_RIGHT o
BS_RIGHTBUTTON Styles dk tks Effect gksrk gS ogh gesa WS_EX_RIGHT Style ds
lkFk Hkh izkIr gksrk gSA
2. lpClassName
ge ftl Window Class dks vk/kkj cuk dj Window Create dj jgs gSa] ml Window
Class dk uke bl Argument esa nsuk gksrk gSA lk/kkj.kr;k ;s ,d String gksrk gSA blh uke
dks ge ml Class ds uke ds :i esa RegisterWindowEx() Functions dks Argument ds :i
esa nsrs gSa] ftls Register djokuk gksrk gSA dqN igys ls cuh gqbZ Window Classes ftudks
Windows Define djrk gSA
ge bl Argument esa ,d Atom Hkh Supply dj ldrs gSaA ,d 16 Bit Integer Number dks
Atom dgk tkrk gS tks fd igys ls cuh gqbZ fdlh Window Class dks Specify djrk gSA tSls
fd Cursor o Icons Windows esa igys ls gh Store gksrs gSaA bUgsa Argument ds :i esa Hkstus
ds fy, gesa ,d Atom dk iz;ksx djuk gksxkA
49
www.BccFalna.com
Windows Programming in C
Windows Atom o String nksuksa esa vUrj dks lpClassName Argument ds High Order 16
Bits dks Check djds djrk gSA ;fn lpClassName Argument ds High Order 16 Bit ;k
H. O. Word dk eku 0 gks rks Window le>rk gS fd blesa fdlh Atom dk eku gS vkSj ;fn
lpClassName Argument ds H.O. Word dk eku 0 uk gks rks Windows tku tkrk gS fd
bl Argument esa fdlh String Object dk Address Stored gSA
Windows esa fdlh Hkh Pointer ds H.O. Word dk eku gesa”kk Non-Zero gksrk gSaA rduhdh
:i ls lpClassName Parameter fdlh Zero-Terminated String dks Point djrk gSA fQj
Hkh dqN Windows Predefined Constant Values gSa ftUgsa ge Atom ds :i esa bl
Argument esa Pass dj ldrs gSaA
• BUTTON
;s ,d NksVklk vk;rkdkj Window gksrk gSA ftl ij ge tc Click djrs gSa rks ;s
fdlh Push Button dh rjg dke djrk gSA
• COMBOBOX
bl Box esa ,d List Box gksrk vkSj ,d Text Edit Box gksrk gSA bu nksuksa dks
Combine djds ,d Single Unit ds :i esa Create dj fn;k x;k gSA
• EDIT
;s ,d ,slk Rectangular Control gksrk gS ftlesa User Input djrk gSA
• LISTBOX
;s Control Character Strings dh ,d List Specify djrk gSA User bl List esa ls
fdlh Hkh String dks Select dj ldrk gSA
• MDICLIENT
;s fdlh MDI (Multiple Document Interface) ds Client Window dks Refer djrk
gSA ;s Windows OS dks Window ls Associated Window Procedure dks MDI
Messages Send djus ds fy, dgrk gSA
• RichEdit
;s Object Rich Edit 1.0 Control dks Specify djrk gSA ;s ,d Rectangular
Window iznku djrk gS tks Text Entry vkSj Text dh Formatting dks Support
djrk gS vkSj blesa COM Objects Hkh j[k ldrs gSaA
• RICHEDIT_CLASS
50
www.BccFalna.com
Windows Programming in C
;s Rich Edit 2.0 Control dks Specify djrk gSA
• SCROLLBAR
;s ,d Rectangular Window dks Specify djrk gS tks fd ,d Scroll Bar gksrk gSA
blds nksuksa rjQ ,d Arrow gksrk gS ftlls ge nksuksa fn”kkvksa esa Scroll dj ldrs gSaA
• STATIC
bls ftl Object ds lkFk Use fd;k tkrk gS ml Object esa ge fdlh rjg dk dksbZ
ifjorZu ugha dj ldrs gSaA
fdlh Application ds Main Window ds lEca/k esa ge lkekU;r;k bu esa ls fdlh Atom dk
iz;ksx ugha djrs gSa cfYd ;gka ml Class dk uke fy[krs gSa] ftlds vk/kkj ij ge viuk Main
Window Create dj jgs gSaA
3. LPCTSTR lpWindowName
CreateWindowEx() Function dk rhljs Parameter lpWindowName ,d String dks
Hold djrk gS tks fd Create gks jgs Window dk uke gksrk gSA ;s ,d Caption gksrk gS] tks
Window ds Title ds :i esa fn[kkbZ nsrk gSA
;fn ,d gh le; esa ,d gh Window Class ds ,d ls vf/kd Instance ;kuh Window
Screen ij Display gks jgs gksa rks gesa gj Window dks Unique Title nsuk pkfg, D;ksafd dqN
Applications bl Caption ls gh vyx&vyx Window dh igpku djrs gSaA
lk/kkj.kr;k Window dk uke o Window dh Class dk uke leku gh gksrk gS ysfdu fcYdqy
leku ugha gksrkA Class dk uke ,d Program Identifier gksrk gS ftls Variable Declaration
ds fu;eksa ds vuqlkj gh j[kk tkrk gSA
;kuh blesa Special Symbols, Blank Space vkfn dk iz;ksx ugha dj ldrsA ysfdu Window
ds uke ;kuh “Caption” dks bl rjg dk j[k ldrs gSa tks User dks vPNk yxsA
4. LPCTSTR dwStyle
CreateWindowEx() Function dk pkSFkk Parameter dwStyle Create gksus okys Window
ds fy, ,d Styles ds Set dks Specify djrk gSA
dwExStyle Parameter dh rjg ;s ,d Bitmap Object gS ftlesa dqN Boolean ekuksa dk ,d
lewg gksrk gSA ;s lewg fdlh Window ds fdUgh Attributes ds Presence ;k Absence dks
Specify djrk gSA bUgsa Logical “OR” Operator dk iz;ksx djds Combine fd;k tk ldrk
gS vkSj dbZ Attributes dks ,d lkFk Window ij Apply fd;k tk ldrk gSA gkykafd ge Main
51
www.BccFalna.com
Windows Programming in C
Window ij dsoy ,d gh Attribute Apply djrs gSaA dqN Styles fuEukuqlkj gSa ftUgsa ge
Create gks jgs Window ij Apply dj ldrs gSaA
• WS_BORDER
Create gksus Window ds pkjksa vksj ,d iryh Border cuk nsrk gSA
• WS_CAPTION
,d Window Create djrk gS ftldk ,d Title gksrk gSA lkFk gh ;s WS_BORDER
Attribute dks Hkh Set djrk gSA
• WS_CHILD
,d Child Window Create djrk gSA ;g Style WS_POPUP Style ds lkFk Use
ugha gks ldrk lkFk gh bl izdkj ds Window esa Menu Bar ugha gks ldrkA
• WS_CHILDWINDOW
;g Attribute Hkh ,d Child Window Create djrk gSA ;g Style WS_POPUP
Style ds lkFk Use ugha gks ldrk lkFk gh bl izdkj ds Window esa Menu Bar ugha
gks ldrkA
• WS_CLIPCHILDREN
;s Attribute rc dke djrk gS tc ge Parent Window Create djrs gSaA
• WS_CLIPSIBILINGS
tc ge ,d ls vf/kd Child Window Create djrs gSa] rc ge bl Attribute dks
Specify djrs gSaA ;s Attribute ,d Window dks nwljs Window ij Over Lap djrk
gSA
• WS_DISABLE
;s Attribute ,d ,slk Window Create djrk gS tks Initially Disable gksrk gSA ,d
Disable fd;k gqvk Window fdlh izdkj dk dksbZ User Input Receive ugha djrk
gSA bl Attribute dks Change djus ds fy, Window Create djus ds ckn
EnableWindow() Functions dks Use fd;k tkrk gSA
• WS_DLGFRAME
bl Attribute dk iz;ksx djus ij ,d ,slk Window Create gksrk gS ftlds Title Bar
ugha gksrkA lkekU;r;k ;s ,d Dialog Box Window dh rjg dk Window Create
djrk gSA
• WS_GROUP
52
www.BccFalna.com
Windows Programming in C
;s Attribute fdlh Hkh Controls ds Group esa fLFkr izFke Control dks Specify djrk
gSA vU; lHkh Controls bl Control ds ckn Define gksrs gSaA /;ku jgs fd lHkh
Controls Lo;a ,d Window gksrk gSA ge dbZ Group Of Controls Create dj ldrs
gSaA fdlh Hkh Group Control ds izFke Control esa WS_TABSTOP Style Specify
jgrk gS rkfd ge ,d Group ls nwljs Group esa Move dj ldsaA ge bl Attributer
dks On ;k Off dj ldrs gSaA fdlh Window ds Create gksus ds ckn bl Style dks
Change djus ds fy, SetWindoLong() Function dks Use djrs gSaA
• WS_SCROLL
;s Attribute Create gksus okys Window esa Horizontal Scroll Bar Hkh Create djrk
gSA
• WS_ICONIC
bl Attribute ls ,slk Window Create gksrk gS] tlds lkFk Default Icon Attached
jgrk gSA
• WS_MAXIMIZE
bl Attribute ls ,slk Window Create gksrk gS tks Initially Maximized gksrk gSA
• WS_MAXIMIZEBOX
;s Attribute ,slk Window Create djrk gS ftlesa Maximize Button gksrk gSA bl
Attribute dks WS_EX_CONTEXTHELP Style ds lkFk Use ugha fd;k tk ldrk
tcfd bls Use djus ij WS_SYSMENU Style dks Specify djuk t:jh gksrk gSA
• WS_MINIMIZE
bl Attribute ls ,slk Window Create gksrk gS tks Initially Minimized gksrk
gSA
• WS_MINIMIZEBOX
bl Attribute ls ,slk Window Create gksrk gS ftlesa Minimize Button gksrk gSA bl
Attribute dks Hkh WS_EX_CONTEXTHELP Style ds lkFk Use ugha fd;k tk
ldrk tcfd bls Use djus ij WS_SYSMENU Style dks Use djuk t:jh gksrk
gSA
• WS_OVERLAPPED
;s Overlapped Window Create djrk gSA ,d Overlapped Window esa ,d Title
Bar vkSj ,d Border gksrk gSA Create gksus okyk Window WS_TILED Style ds
leku gh gksrk gSA
53
www.BccFalna.com
Windows Programming in C
• WS_OVERLAPPEDWINDOW
;s Attribute dbZ vU; Attributes dk Combinations gksrk gSA blesa
WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_SIZEBOX,
WS_MINIMIZEBOX o WS_MAXIMIZEBOX Styles Combined gksrh gSA ge
vf/kdrj Window blh Attribute dk Create djrs gSaA
• WS_POPUP
;g Attribute Popup Window Create djrk gSA bl Style dks WS_CHILD Style
ds lkFk Use ugha dj ldrs gSaA
• WS_POPUPWINDOW
;g Attribute ,d Popup Window Create djrk gS ftlesa WS_BORDER,
WS_POPUP o WS_SYSMENU Styles combined gksrh gSaA bl Window dks
Display djus ds fy, WS_CAPTION o WS_POPUPWINDOW Style dks Active
djuk t:jh gksrk gSA
• WS_SIZEBOX
bl Attribute ls ,d Sizable Window Create gksrk gSA ;g Style
WS_THICKFRAME ds leku gh gSA
• WS_SYSMENU
;s Attribute ,d ,slk Window Create djrk gS ftlds Title Bar ij ,d Window
Menu gksrk gSA blesa WS_CAPTION Style dks Hkh Specify djuk t:jh gksrk gSA
• WS_TABSTOP
;s Attribute ,d Control dks bl rjg dk Specify djrk gS tks Keyboard ij Tab
Key press djus ij Focus Receive djrk gSA Tab Key Press djus ij Focus
vU; Control ij Move djrk gSA bl Style dks ge On ;k Off dj ldrs gSaA
• WS_THICKFRAME
;s Attribute ,d ,slk Window Create djrk gS ftldh Border Sizeable gksrh gSA ;s
Attribute WS_SIZEBOX ds leku gh gSA
• WS_TILED
;s Attribute ,d Overlapped Style dk Window Create djrk gSA
• WS_TILEDWINDOW
;s Property WS_OVERLAPPEDWINDOW Attribute ds leku gh gSA
54
www.BccFalna.com
Windows Programming in C
• WS_VISIBLE
;s Attribute ,d ,slk Window Create djrk gS tks Initially Visible gksrk gSA
• WS_VSCROLL
;s Property ,d ,slk Window Create djrk gS ftlesa Vertical Scroll bar gksrk gSA
ShowWindowEx() o SetWindowPos() Functions dks Use djds ge bl
Attribute dks On ;k Off dj ldrs gSaA
;s lHkh General Styles gSaA fo”ks’k izdkj dh Window Classes dk Lo;a dk Window Style
dk ,d Set gksrk gSA fo”ks’k :i ls Button Window Class, Combo Box Window Class,
Text Box Window Class, Edit Window Class, List Box Window Class, Scroll Bar
Window Class, Static Window Class vkSj Dialog Window Class dk Lo;a dk fofHkUu
Window Styles Values dk ,d Set gS ftUgsa ge bu Parameters ds :i esa Supply dj
ldrs gSaA
WS_OVERLAPPEDWINDOW Style lcls vPNh Style gS ftls ge gj Program esa Main
Window ds fy, Use dj ldrs gSaA oSls ge pkgsa rks ,d ls vf/kd Styles dks Combine
djds Hkh Use dj ldrs gSaA ge WS_VISIBLE Attribute dk iz;ksx djds Window dks
Display Hkh dj ldrs gSa ysfdu ge CreateWindowEx() Functions dks Call djus ds ckn
Window dks Visible cukus ds fy, ,d vkSj Function Call djrs gSaA blfy, ;gka bl
Attribute dh gesa t:jr ugha gksrh gSA
5. int x
;s Argument Window dh Initial Horizontal Position crkrk gSA ;kuh ;s eku r; djrk gS fd
Display gksus okyk Window Left Size ls fdrus Pixels dh nwjh ij Display gksxkA
fdlh Overlapped ;k Popup Window ds fy, bl Argument dk eku ;s r; djrk gS fd
Window Screen Coordinates dh rqyuk esa Upper Left Corner ls fdruh nwjh ij Display
gksxk vkSj fdlh MDI Window esa Create gksus okyk Child Window mlds Parent Window
ds Coordinates dh rqyuk esa Upper Left Corner ls fdruk nwj gksxkA
;fn x dk eku CW_USERDEFAULT Initialize dj fn;k tk,] rks Windows OS Lo;a
Default Upper Left Corner esa Window dks Display djrk gS vkSj y Parameter dks Ignore
dj nsrk gSA CW_USERDEFAULT dsoy Overlapped Windows ds fy, gh Valid gksrk gSA
;fn bls fdlh Popup Window ;k Child Window ds fy, Specify fd;k tk,] rks x vkSj y
Parameters dk eku 0 gks tkrk gSA
6. int y
55
www.BccFalna.com
Windows Programming in C
;s Argument Window dh Initial Vertical Position Specify djrk gSA fdlh Overlapped ;k
popup Window ds fy, y dk eku ;s r; djrk gS fd Display gksus okyk Window Screen
Coordinates dh rqyuk esa Top ls fdruk uhps Display gksxk] tcfd ,d Child Window esa y
dk eku ;s r; djrk gS fd Window mlds Parent Window ds Client Area ds Top ls
fdruk uhps Display gksxkA ;fn fdlh Overlapped Window dks WS_VISIBLE Style dk
Create fd;k tkrk gS rks x Parameter dk eku CW_USERDEFAULT Set gks tkrk gS vkSj
System y Parameter dks Ignore dj nsrk gSA
7. int nWidth
fdlh Create gksus okys Window dh Width ;s Parameter Specify djrk gSA fdlh
Overlapped Window ds fy, Screen Coordinate ;k CW_USERDEFAULT ds
According nWidth Window dh Width gksrh gSA ;fn nWidth esa CW_USERDEFAULT
eku gks rks Computer Window dks ,d Default Height o Width esa Display djrk gSA
CW_USREDEFAULT dsoy Overlapped Window ds fy, gh Valid gSA ;fn
CW_USERDEFAULT dks fdlh Child Window ;k Popup Window ds fy, Specify
fd;k tk,] rks nWidth o nHeight Parameters dk eku Zero gks tkrk gSA
8. int nHeight
fdlh Overlapped Window esa nHeight dk eku Screen Coordinates ds According
Window dh Height ds cjkcj gksrk gSA ;fn nWidth Parameter dks CW_USERDEFAULT
Set dj fn;k tk, rks System nWidth ds eku dks Ignore dj nsrk gSA Default Style esa
Window vDlj Screen Coordinates ds According fcYdqy Center esa Display gksrk gSA
oSls gesa CW_USERDEFAULT Option dks gh Specify djuk pkfg,A ,slk blfy, D;ksafd
yksx vyx&vyx Resolutions ij dke djrs gSaA dksbZ 640X480 ij rks dksbZ 1024X768 ijA
lHkh yksx 800X600 ds Resolution ij dke ugha djrsA bl fLFkfr esa ;fn ge x, y, nWidth
o nHeight ekuksa dks Initialize djrs gSa] rks Create gksus okys Window dh Size vyx&vyx
Resolutions ij vyx&vyx fn[kkbZ nsxhA ,sls esa ;fn ge CW_USERDEFAULT dks
Specify djrs gSa] rks ge Resolution ds vuqlkj Windows OS Lo;a gh gj Computer esa
Window ds Display dks Control djrk gSA
9. HWND hWndParent
tc Hkh ge dksbZ Child Window Create djrs gSa rks ;s Parameter Parent Window ds
Handle dks Specify djrk gSA Popup Menu ds fy, ;s eku optional gksrk gSA Buttons,
Text Edit Boxes vkSj vU; nwljs Controls Child Window ds vPNs mnkgj.k gSaA fdlh
Application dk Main Window Lo;a dksbZ Child Window ugha gksrk gSA blfy, tc ge
Application dk Main Window Create dj jgs gksa rc blesa NULL Specify dj ldrs gSaA
10. HMENU hMenu
56
www.BccFalna.com
Windows Programming in C
;s fdlh Menu dk Handle gksrk gS ;k fdlh Child Window Identifier dks Window Style
ds vk/kkj ij Specify djrk gSA fdlh Overlapped Window ;k Popup Window ds fy,
hMenu ml Menu dks Identify djrk gS] ftls Window ds lkFk Use djuk gSA ;fn gekjs
Window esa Menu uk gks ;k gesa Class Menu Use djuk gks] rks ge blesa NULL Specify
dj ldrs gSaA
fdlh Child Window ds fy, hMenu Child Window Identifier dks Specify djrk gSA ;s ,d
Integer eku gksrk gS ftldk iz;ksx Dialog Box Control bl Child Window ds Parent
Window dks Events ds ckjs esa Notify djus ds fy, djrk gSA Application Window Child
Window Identifier dks Determine djrk gSA bldk eku gj Child Window ds fy, Unique
gksuk pkfg, tks fd ,d gh Parent Window esa gksaA
11. HINSTANCE hInstance
bl Argument esa gekjs Application ;k Module dk handle Pass fd;k tkrk gSA ge bl
Handle dks GetModuleHandle() API Function dk iz;ksx djds izkIr djrs gSaA tc
Application dk main Program Class ds Variables dks Initialize djrk gS rc ;s
Application ds Handle dks ,d Global Variable esa Save djrk gS] ftls ckn esa
CreateWindowEx() API Function esa Use fd;k tkrk gSA Application ds Handle dh gesa
Future esa Hkh t:jr iMrh gS] blfy, ge bl Handle dks Global Variable esa Store djrs
gSaA
CreateWindowEx() API Function okLro esa Window dks Memory esa Create o Initialize
djrk gSA gesa bruk dqN djus ds ckn Hkh Window Screen ij Display ugha gksrkA Windows
OS dks ;s crkus ds fy, fd og gekjs Window dks Screen ij Display djs] gesa
ShowWindowEx() API Functions dks Call djuk iMrk gSA bl Functions dk Prototype
fuEukuqlkj gS %
BOOL ShowWindow( HWND hWnd, int nCmdShow );
bl Function dk igyk Parameter ,d Window Handle gSA bl Handle dks
CreateWindowEx() Function Return djrk gSA nwljk Parameter ;s crkrk gS fd Window
dks fdl rjg ls Display djuk gSA Window dks izFke ckj Display djus ds fy,
SW_SHOWNORMAL ,d mfpr eku gSA
;s Function okLro esa Window dks Visible ugha cukrk gSA ;s dsoy Window dks bl fLFkfr esa
ykrk gS fd Window Display gks ldsA gkykafd Windows OS gekjs Window dh Frame dks
Draw djrk gS] ysfdu Window ds Client Area dks Fill djus dh ftEesnkjh gekjh gksrh gSA
,slk rc gksrk gS tc Windows gekjs Application dks ,d Message Send djrk gSA bl
57
www.BccFalna.com
Windows Programming in C
Message esa og gekjs Application dks crkrk gS fd gekjk Application blds Client Area
dks Lo;a Paint djsA
gkykafd bl le; Computer dk Control gekjs Application esa gh gksrk gS] ysfdu gekjk
Application rc rd Window dks Screen ij Draw ugha dj ldrk tc rd fd Windows
OS bls ,d Message Send ugha djrkA Window dks Screen ij Draw djus ds fy,
Windows OS dks dguk iMrk gS fd og gekjs Application Procedure dks ,d Message
Send djsA rc gekjk Window Procedure Window dh Information Screen ij Fill dj
ldrk gSA ge ;s dke UpdateWindow() API Function dks Call djds djrs gSaA
/;ku nsa fd UpdateWindow() Function Hkh okLro esa Window Draw ugha djrk gSA
Window Procedure esa ;s Windows OS dks dgrk gS fd og gekjs Application dks ,d
Message Send djs tks gekjs Application dks Window Draw djus ds fy, dgsA okLrfod
Drawing gekjs Application ds main Program esa ugha gksrh gSA
,d ckj tc ge Windows OS dks vius Window dks Update djus ds fy, dg nsrs gSa rks
gekjk Window igyh ckj Draw gks tkrk gSA vc gekjs Application ds main Program dks
dsoy Windows OS ls vkus okys fofHkUu Messages dks Process djuk gksrk gSA fdlh Hkh
Application Program dks Windows OS }kjk feyus okyk lcls igyk Message ;gh gksrk gS
fd gekjk Application Window dks Draw djsA
Message Queue
GUI Programming esa ge fofHkUu izdkj ds Messages dks Process djds Event Driven
Programming djrs gSaA pfy,] bls FkksMk le>us dh dksf”k”k djrs gSaA ,d GUI Program ls
User lSdMksa rjhdksa ls Interaction dj ldrk gSA ;kuh ,d Application ekuk fd MS-Word
gSA vc User viuh bPNk o vko”;drkuqlkj lSdMksa rjhdksa ls MS-Word ds fofHkUu Options
o Commands dks Use dj ldrk gSA DOS Programming dh rjg GUI Program fdlh
,d fuf”pr Øe esa Execute o Run ugha gSaA
nwljh ckr ;s gS fd Windows OS esa dqN Events ,sls gksrs gSa tks fcuk User ds fdlh izdkj ds
Interaction ds Hkh Generate gksrs gSaA ;s Software Events gksrs gSaA tSls tc ,d Window
Create gksrk gS] rc ,d Event Generate gksrk gS] tc Window esa fn[kkbZ nsus okys fofHkUu
izdkj ds Content Screen ij Draw gksrs gSa rc Hkh ,d Software Event Generate gksrk
gSA bruk gh ugha] cfYd ,d Event Generate gksus ij og dbZ vU; Events dks Hkh
Generate dj nsrk gSA
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi
W pwith cinhindi

More Related Content

Similar to W pwith cinhindi

Sirajrockinhindi 141119222557-conversion-gate02
Sirajrockinhindi 141119222557-conversion-gate02Sirajrockinhindi 141119222557-conversion-gate02
Sirajrockinhindi 141119222557-conversion-gate02SirajRock
 
C language in hindi
C language in hindiC language in hindi
C language in hindiAdityaroy110
 
Windows phone 8 guide for android developers
Windows phone 8  guide for android developersWindows phone 8  guide for android developers
Windows phone 8 guide for android developersKhai Le
 
Units 14,15 Assignment Brief
Units 14,15 Assignment BriefUnits 14,15 Assignment Brief
Units 14,15 Assignment BriefZaxapias
 
android_programming_with_kotlin_for_beginners_(2019).pdf
android_programming_with_kotlin_for_beginners_(2019).pdfandroid_programming_with_kotlin_for_beginners_(2019).pdf
android_programming_with_kotlin_for_beginners_(2019).pdfSemsemSameer1
 
Windows phone development step by step tutorial
Windows phone development step by step tutorialWindows phone development step by step tutorial
Windows phone development step by step tutorialQuy Giap Ha
 
Responsive Design for an Omnichannel World
Responsive Design for an Omnichannel WorldResponsive Design for an Omnichannel World
Responsive Design for an Omnichannel WorldAriad Communications
 
Hp man sm9.30_application_patch_mgr_pdf
Hp man sm9.30_application_patch_mgr_pdfHp man sm9.30_application_patch_mgr_pdf
Hp man sm9.30_application_patch_mgr_pdfGLaDOS2199
 
Working on Tasks in Microsoft Project Web Access
Working on Tasks in Microsoft Project Web AccessWorking on Tasks in Microsoft Project Web Access
Working on Tasks in Microsoft Project Web AccessDavid J Rosenthal
 
Software product development tips to develop a quality software in 2021
Software product development  tips to develop a quality software in 2021Software product development  tips to develop a quality software in 2021
Software product development tips to develop a quality software in 2021SnehaDas60
 
codeblocks-instructions.pdf
codeblocks-instructions.pdfcodeblocks-instructions.pdf
codeblocks-instructions.pdfRavinderKSingla
 
Hilo cppxaml
Hilo cppxamlHilo cppxaml
Hilo cppxamlSteve Xu
 
online shopping
online shopping online shopping
online shopping Ankuj Kumar
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersManjunath.R -
 

Similar to W pwith cinhindi (20)

Sirajrockinhindi 141119222557-conversion-gate02
Sirajrockinhindi 141119222557-conversion-gate02Sirajrockinhindi 141119222557-conversion-gate02
Sirajrockinhindi 141119222557-conversion-gate02
 
C language in hindi
C language in hindiC language in hindi
C language in hindi
 
C language in hindi
C language  in hindiC language  in hindi
C language in hindi
 
Vb6in hindi
Vb6in hindiVb6in hindi
Vb6in hindi
 
C ++ in hindi
C ++  in hindiC ++  in hindi
C ++ in hindi
 
Windows phone 8 guide for android developers
Windows phone 8  guide for android developersWindows phone 8  guide for android developers
Windows phone 8 guide for android developers
 
Units 14,15 Assignment Brief
Units 14,15 Assignment BriefUnits 14,15 Assignment Brief
Units 14,15 Assignment Brief
 
android_programming_with_kotlin_for_beginners_(2019).pdf
android_programming_with_kotlin_for_beginners_(2019).pdfandroid_programming_with_kotlin_for_beginners_(2019).pdf
android_programming_with_kotlin_for_beginners_(2019).pdf
 
Windows phone development step by step tutorial
Windows phone development step by step tutorialWindows phone development step by step tutorial
Windows phone development step by step tutorial
 
Responsive Design for an Omnichannel World
Responsive Design for an Omnichannel WorldResponsive Design for an Omnichannel World
Responsive Design for an Omnichannel World
 
Hp man sm9.30_application_patch_mgr_pdf
Hp man sm9.30_application_patch_mgr_pdfHp man sm9.30_application_patch_mgr_pdf
Hp man sm9.30_application_patch_mgr_pdf
 
Programming with visual_basic_new
Programming with visual_basic_newProgramming with visual_basic_new
Programming with visual_basic_new
 
Working on Tasks in Microsoft Project Web Access
Working on Tasks in Microsoft Project Web AccessWorking on Tasks in Microsoft Project Web Access
Working on Tasks in Microsoft Project Web Access
 
Software product development tips to develop a quality software in 2021
Software product development  tips to develop a quality software in 2021Software product development  tips to develop a quality software in 2021
Software product development tips to develop a quality software in 2021
 
codeblocks-instructions.pdf
codeblocks-instructions.pdfcodeblocks-instructions.pdf
codeblocks-instructions.pdf
 
Hilo cppxaml
Hilo cppxamlHilo cppxaml
Hilo cppxaml
 
online shopping
online shopping online shopping
online shopping
 
How to create a chat application on Android platform?
How to create a chat application on Android platform? How to create a chat application on Android platform?
How to create a chat application on Android platform?
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
 
2. C# Guide - To Print
2. C# Guide - To Print2. C# Guide - To Print
2. C# Guide - To Print
 

More from Chand Rook

process-for-procurement-of-power-
process-for-procurement-of-power-process-for-procurement-of-power-
process-for-procurement-of-power-Chand Rook
 
The inspection guideline
The inspection guidelineThe inspection guideline
The inspection guidelineChand Rook
 
Advance w pinhindi
Advance w pinhindiAdvance w pinhindi
Advance w pinhindiChand Rook
 
Disadvantages of asp.net...s less markup control
Disadvantages of asp.net...s   less markup controlDisadvantages of asp.net...s   less markup control
Disadvantages of asp.net...s less markup controlChand Rook
 
What is server controls in asp.net in hindi
What is server controls in asp.net   in hindiWhat is server controls in asp.net   in hindi
What is server controls in asp.net in hindiChand Rook
 
How asp.net web forms work learn easily in hindi
How asp.net web forms work  learn easily in hindiHow asp.net web forms work  learn easily in hindi
How asp.net web forms work learn easily in hindiChand Rook
 
Disadvantages of asp.net...s less markup control
Disadvantages of asp.net...s   less markup controlDisadvantages of asp.net...s   less markup control
Disadvantages of asp.net...s less markup controlChand Rook
 
What is asp.net web forms in hindi
What is asp.net web forms in hindiWhat is asp.net web forms in hindi
What is asp.net web forms in hindiChand Rook
 
How asp.net web forms work learn easily in hindi
How asp.net web forms work  learn easily in hindiHow asp.net web forms work  learn easily in hindi
How asp.net web forms work learn easily in hindiChand Rook
 
Asp.net postbacks lear...simple example in hindi
Asp.net postbacks   lear...simple example in hindiAsp.net postbacks   lear...simple example in hindi
Asp.net postbacks lear...simple example in hindiChand Rook
 
बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में Chand Rook
 
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )Chand Rook
 
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )Chand Rook
 

More from Chand Rook (15)

process-for-procurement-of-power-
process-for-procurement-of-power-process-for-procurement-of-power-
process-for-procurement-of-power-
 
Rbi banking
Rbi bankingRbi banking
Rbi banking
 
The inspection guideline
The inspection guidelineThe inspection guideline
The inspection guideline
 
Advance w pinhindi
Advance w pinhindiAdvance w pinhindi
Advance w pinhindi
 
Disadvantages of asp.net...s less markup control
Disadvantages of asp.net...s   less markup controlDisadvantages of asp.net...s   less markup control
Disadvantages of asp.net...s less markup control
 
What is server controls in asp.net in hindi
What is server controls in asp.net   in hindiWhat is server controls in asp.net   in hindi
What is server controls in asp.net in hindi
 
How asp.net web forms work learn easily in hindi
How asp.net web forms work  learn easily in hindiHow asp.net web forms work  learn easily in hindi
How asp.net web forms work learn easily in hindi
 
Disadvantages of asp.net...s less markup control
Disadvantages of asp.net...s   less markup controlDisadvantages of asp.net...s   less markup control
Disadvantages of asp.net...s less markup control
 
What is asp.net web forms in hindi
What is asp.net web forms in hindiWhat is asp.net web forms in hindi
What is asp.net web forms in hindi
 
How asp.net web forms work learn easily in hindi
How asp.net web forms work  learn easily in hindiHow asp.net web forms work  learn easily in hindi
How asp.net web forms work learn easily in hindi
 
Asp.net postbacks lear...simple example in hindi
Asp.net postbacks   lear...simple example in hindiAsp.net postbacks   lear...simple example in hindi
Asp.net postbacks lear...simple example in hindi
 
बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में बेसिक जावा प्रोग्रामिंग हिंदी में
बेसिक जावा प्रोग्रामिंग हिंदी में
 
Tdsfgret
TdsfgretTdsfgret
Tdsfgret
 
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )
ट्रेनिंग रिपोर्ट हिंदी में (traning report in hindi pdf )
 
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )
pcb making in hindi pdf( पीसीबी बनाने की विधि हिंदी में )
 

Recently uploaded

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 

Recently uploaded (20)

Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 

W pwith cinhindi

  • 1. Windows Programming in C B c c F a l n a . c o m 0 9 7 9 9 4 - 5 5 5 0 5 Kuldeep Chand Learn Windows Programming using C Language with Deep Details of Windows Working in easy to understand Hindi Language. This eBook Contains So many Example Programs and Code Fragements to easily understand the Programming Concepts and Detaild Program Flow Discussion to understand the working of the Windows Program Step by Step. Without learning Windows Operating System’s InternalWorking, yo can’t can’t understand the Windows Programming and C is the Base Language of any Modern Operating System. So, learning Windows Programming with C would be really useful if you are interested in GUI Application Development.
  • 2. 1 www.BccFalna.com Windows Programming in C Kuldeep Chand BetaLab Computer Center Falna
  • 3. 2 www.BccFalna.com Windows Programming in C Windows Programming in C in HINDI Copyright © Updated on 2014 by Kuldeep Chand All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editors: Kuldeep Chand Distributed to the book trade worldwide by Betalab Computer Center, Behind of Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116 e-mail bccfalna@gmail.com, or visit http://www.bccfalna.com For information on translations, please contact BetaLab Computer Center, Behind of Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116 Phone 097994-55505 The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, the author shall not have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this book.
  • 4. 3 www.BccFalna.com Windows Programming in C This book is dedicated to those who really wants to be a ProfessionAl Developer
  • 6. 5 www.BccFalna.com Windows Programming in C Table of Contents Operating System AND Windows Programming .............................10 DOS Programming Model.................................................................................... 10 Event...................................................................................................................12 Hardware Event................................................................................................ 12 Software Event................................................................................................. 12 Interface...............................................................................................................12 Programming in DOS vs Windows ................................................................... 14 Windows Programming Model - Message Passing System............................ 14 Device Driver...................................................................................................... 17 Dynamic Linked Library (DLL) Files ................................................................. 18 USER32.DLL.................................................................................................... 19 GDI32.DLL ....................................................................................................... 19 KERNEL32.DLL ............................................................................................... 19 WINMM32.DLL................................................................................................. 19 What Are Messages........................................................................................... 20 Event – Driven Architecture .............................................................................. 21 Traditional MS DOS Program Model ................................................................ 21 Windows Program Model ................................................................................. 22 Windows Application Development Tools ....................................................... 23 SDK ( Software Development Kit ).................................................................... 24 Difference Between Procedure (Routine) And Functions ............................... 24 Message Passing............................................................................................... 24 Handles............................................................................................................... 26 Windows Programming In C ..............................................................30 Main Program..................................................................................................... 30 Hungarian Notation............................................................................................ 32 Window Class Structure.................................................................................... 32 What is a ‘Window Class’?................................................................................ 43 Creating and Displaying a Windows................................................................. 45 Message Queue.................................................................................................. 57 Message Processing Loop................................................................................ 59 A Complete main Program ................................................................................ 63 Window Procedure ............................................................................................ 68 Complete Window Program .............................................................................. 77 Text and Graphics in Windows..........................................................81
  • 7. 6 www.BccFalna.com Windows Programming in C Texts In GUI........................................................................................................ 81 Painting .............................................................................................................. 82 Client Region.................................................................................................... 82 Non – Client Region ......................................................................................... 82 Invalidate............................................................................................................ 83 Device Contexts................................................................................................. 85 Rectangles..........................................................................................................93 RECT Structure................................................................................................ 94 PAINTSTRUCT Structure................................................................................. 94 Device Context ( DC ) Attributes....................................................................... 96 Painting Text in the Client Area ........................................................................ 97 Graphics In GUI.................................................................................................. 99 Types of Graphic Objects You Can Draw in Windows .................................... 100 Facilities That the Windows GDI Provides...................................................... 101 The Device Context .................................................................................... 102 Obtaining and Using Device Context Information........................................ 103 Device Capabilities ..................................................................................... 104 Windows RGB Color Format .......................................................................... 108 Window Origin and Viewport Origin................................................................ 111 Line Drawing Under Windows ........................................................................ 115 Background Mode and Color for Lines ........................................................... 123 Drawing Rectangles and Filing with Color ...................................................... 125 Drawing Ellipse............................................................................................... 127 Window Graphics – Icon and Menu.................................................131 Message Loop Again ....................................................................................... 138 Resources ........................................................................................................ 140 Menus and Icons.............................................................................................. 144 WM_CREATE Message................................................................................. 153 Menu Bars and Menus ................................................................................... 153 Menu Handles ................................................................................................ 155 CreateMenu() ................................................................................................. 155 CreatePopupMenu()....................................................................................... 156 AppendMenu()................................................................................................ 156 LoadImage()................................................................................................... 161 WM_COMMAND ............................................................................................... 165 Window Graphics and Dialog Box..................................................174 Modal Dialog Box............................................................................................. 174
  • 8. 7 www.BccFalna.com Windows Programming in C DialogBox Macro............................................................................................ 177 Dialog Properties Dialog Box.......................................................................... 189 Modeless Dialog Box....................................................................................... 196 Controls............................................................................................................ 204 BUTTON ........................................................................................................ 205 COMBOBOX.................................................................................................. 205 EDIT............................................................................................................... 206 LISTBOX........................................................................................................ 206 SCROLLBAR.................................................................................................. 206 STATIC .......................................................................................................... 206 Messages.......................................................................................................... 207 Window Graphics and Dialog Box Resource ................................217 GDI .................................................................................................................... 217 Device Contexts............................................................................................... 217 Bitmaps ............................................................................................................ 218 GDI Leaks ......................................................................................................... 219 Displaying Bitmaps.......................................................................................... 220 Getting The Window DC................................................................................. 222 Setting up a Memory DC for the Bitmap ......................................................... 223 Drawing.......................................................................................................... 224 Cleanup.......................................................................................................... 227 Messages ...........................................................................................233 Event-Driven Input Versus "Hurry Up and Wait" ........................................... 234 Focus................................................................................................................ 235 Caret ................................................................................................................. 235 Keyboard Messages ........................................................................................ 241 Mouse Messages ............................................................................................. 248 Timer Messages............................................................................................... 259 Last but not Least. There is more… ................................................264
  • 10. 9 www.BccFalna.com Windows Programming in C OpeRating System & Windows Programming
  • 11. 10 www.BccFalna.com Windows Programming in C Operating System AND Windows Programming DOS ds fy, Programming djuk lh[kus ds ckn vc ge Windows Based Program Develop djuk lh[ksaxsA eSa vk”kk djrk gwa fd vc rd Computer Programming dk Basic Concept dkQh gn rd Clear gks x;k gksxkA DOS ds fy, Program fy[kuk vkSj Window ds fy, Program fy[kuk nksuksa esa dkQh vUrj gSA DOS vius le; dk lcls ljy vkSj mi;ksxh Operating System Fkk ysfdu bldh dqN dfe;ka Fkha ftlds dkj.k Windows dks Develop djuk iMkA pfy, lcls igys ge mUgha dfe;ksa dks ns[krs gSaA DOS Programming Model bls le>us ds fy, ge ,d lk/kkj.k lk Program cukrs gSa] ftlesa Program User ls mldk uke Input djus ds fy, Message nsrk gS vkSj User ds uke Input djus ds ckn Program uke dks ,d Message ds lkFk Print dj nsrk gSA ;s Program fuEukuqlkj gS & Program #include<stdio.h> main() { char name[20]; printf("Enter Your Name: "); gets(name); printf("nnYour Name is %s", name); } tc bl Program dks Run djrs gSa rc User ls bldk Interface fuEukuqlkj gksrk gS & Enter Your Name : // Program Input ds fy, Message nsrk gSA Kuldeep // User uke Input djrk gSA Your Name is Kuldeep // Program Message ds lkFk uke dks Print djrk gSA ge ns[k ldrs gSa fd ;gka Program dk gj Instruction ftl rjg ls fy[kk tkrk gS] Program mlh rjg ls Response djrk gSA bl rjg ds Interface esa User tc rd Input ugha djrk] Program Control Input dk bUrtkj djrk jgrk gSA
  • 12. 11 www.BccFalna.com Windows Programming in C ;fn User dHkh Input uk djs rks Program dHkh bl Instruction ls vkxs ugha c<sxk vkSj CPU gesa”kk Busy jgsxkA tc rd User uke Input ugha djsxk] uk rks Program vkxs c<sxk uk gh rc rd fdlh vU; Program dks pkyq fd;k tk ldsxkA ;s fdlh Hkh DOS Based Program dk ,d Modal gSA DOS Based gj Program blh rjg dk gksrk gSA fdlh Hkh Hardware pkgs og Keyboard gks] Monitor gks ;k Mouse] lHkh ds lkFk Interact djus ds lkjs Functions dsoy Operating System esa gksrs gSaA ;kuh DOS Based Program esa DOS gh bu Hardware Resources ds lkFk fdlh Application Program dk Interaction djokrk gS vkSj DOS Based program esa DOS dk Control Application Program ds ikl pyk tkrk gSA tc rd DOS Based og Program Terminate ugha gksrk] rc rd Application Program dh Requirement ds vuqlkj DOS dks dke djuk iMrk gSA tc Hkh ge fdlh DOS Based Program dks Run djrs gSa rks DOS lcls igys main() Function dks [kkstrk gS vkSj Computer ds Boot gksus ds ckn tks Control DOS dks BIOS ls izkIr gksrk gS] DOS ml Control dks Application Software dks Transfer dj nsrk gSA vc DOS Run gks jgs Application Program dh gj t:jr dks iwjk djrk gSA tc Application Program esa Control dks printf() Function feyrk gS] Control DOS esa vkrk gS vkSj DOS dks printf() Function esa fy[ks x, Message dks Screen ij Print djus ds fy, Order nsrk gSA DOS printf() Function esa fy[ks Message dks Screen ij Print djrk gS vkSj Control dks okil Application Software dks Transfer dj nsrk gSA tc Control dks Application Program dk nwljk Instruction scanf() Function feyrk gS] rc Control okil DOS esa vkrk gS vkSj DOS dks Order nsrk gS fd og Keyboard ls User }kjk Input izkIr djsA DOS User ls Input ysus ds fy, Wait djrk gSA Input ysus ds ckn DOS dk Control okil Application Program dks Transfer gks tkrk gSA ;s izfØ;k rc rd pyrh jgrh gS] tc rd fd Application Program Terminate ugha gks tkrkA ;kuh lkjka”k esa fdlh Hkh DOS Based Program esa ge tc Hkh dksbZ Program Run djrs gSa rks Computer dk lkjk Control ml Application Program ds gkFk esa pyk tkrk gS] tks Run gks jgk gksrk gSA Run gks jgk Application Program ;s r; djrk gS fd Operating System DOS dc fdlh Hardware dks Access dj ds User ls Input ysxk vkSj fdl Hardware dks dc Access djds Output esa Message dks Print djsxkA ;kuh ge ;s Hkh dg ldrs gSa fd ,d DOS Based Program Computer ds fofHkUu Resources o Hardware dks Direct Access djrk gSA
  • 13. 12 www.BccFalna.com Windows Programming in C fdlh Hkh Computer dk Control gesa”kk fdlh ,d Application Program ds ikl gksus ds dkj.k gh DOS esa Multi Tasking ugha gks ldrh Fkh D;ksafd CPU dk Control gesa”kk fdlh Application Software ds ikl gksrk Fkk vkSj CPU gesa”kk User ds Response dk Wait djrk jgrk FkkA bl rjg ds Operating System ds dkj.k CPU dk iwjk mi;kssx Hkh lEHko ugha FkkA DOS dh bu dfe;ksa dks nwj djus vkSj Computer ds Operating System dks vf/kd yphyk cukus ds fy, ,d ,sls Operating System dks Develop fd;k x;k ftlesa Computer dk lkjk Control gesa”kk Operating System ds ikl gh jgrk gS vkSj Application dh t:jrksa dks og Operating System t:jr ds vuqlkj iwjk djrk gSA Windows blh izdkj dk ,d Operating System gSA Windows ,d Multi Tasking Operating System gSA Multi Tasking dks le>us ds fy, gesa igys Windows Based Programming Modal dks le>uk gksxkA Windows Based Program ,d Event Driven Programming Modal esa Develop fd, tkrs gSaA Event Computer esa tc Hkh tks Hkh dqN gksrk gS] mls Event dgrs gSaA Event nks izdkj ls Generate gksrs gSa% Hardware Event Mouse ls Click djuk] Key Board ls dksbZ Key Press djuk] Mouse dks Move djuk vkfnA ;s lHkh Actions Hardware Event ds vUrxZr vkrh gSaA Software Event fdlh Window dks Resize djus] fdlh Deactivate Window ij Click djds mls Activate djus tSlh fØ;kvksa ls tks Event Generate gksrs gSa] mUgsa Software Event dgrs gSaA Interface pwafd Computer ,d Electronic Machine gS tks dsoy Electrical Signals dks le>rk gSA User dh ckr dks Computer dks le>kus vkSj Computer ls okafNr ifj.kke izkIr djus ds fy, User dks ,d ek/;e dh vko”;drk gksrh gSA bl ek/;e }kjk Computer User dh ckr dks
  • 14. 13 www.BccFalna.com Windows Programming in C viuh Hkk’kk ;kuh Electrical Signals dh Hkk’kk esa le>rk gS vkSj User dks mldh leL;k dk lek/kku User dh Hkk’kk esa nsrk gS] ftls User le>rk gSA Computer o User ds chp gksus okyh ckrphr ;k fopkjksa ds vknku&iznku dk rjhdk Interface dgykrk gS vkSj ;s rjhdk Operating System }kjk izkIr gksrk gS tks fd ,d Master Software gksrk gSA tc User fofHkUu izdkj ds Commands dk iz;ksx djds Computer dks viuh ckr le>krk gS rks bl Interface dks Character User Interface dgrs gSa vkSj tc User Graphics ds ek/;e ls Computer ls Interact djrk gS rks bl izfØ;k dks Graphical User Interface dgrs gSaA MS-DOS ,d Character User Interface (CUI) iznku djrk gS vkSj Windows ,d Graphical User Interface (GUI) iznku djrk gSA Window esa vf/kdrj dkeksa dks djus ds fy, Graphics dk iz;ksx fd;k tkrk gSA Windows Environment esa Mouse ls fdlh Hkh Program Icon dks Point o Click djds dke fd;k tkrk gSA MS–Word, MS–Excel vkfn Windows esa Run gksus okys GUI Application Softwares gSaA ;s Programs Windows esa gh py ldrs gSa D;ksafd Windows bUgs fofHkUu izdkj ds dbZ Built–In Functions o Data iznku djrk gS tks fdlh vU; Operating System tSls fd MS–DOS vkfn esa ugha gksrs gSaA Windows Text dks fofHkUu Size, Style o Colors esa Draw djus dh lqfo/kk iznku djrk gSA lkFk gh ;s fofHkUu izdkj ds Graphics cukus ds fy, fofHkUu izdkj ds Functions iznku djrk gS] ftuds fy, User dks fdlh izdkj dh dksfMax ugha djuh iMrh gSA bu System Defined Functions, ftUgsa ,d Application Program t:jr ds vuqlkj Call djrk gS] ,d Interface }kjk Application Software dks izkIr gksrk gSA bl Interface dks API (Application Programming Interface) dgk tkrk gSA ;s API Functions fdlh Application Program o Windows ds chp Interface ;k ek/;e iznku djus dk dke djrk gSA Windows Based dksbZ Hkh Program bUgha API Functions ds ek/;e ls Operating System ls Interact djrk gS vkSj Operating System Application dh Requirement ds vuqlkj fofHkUu izdkj ds Computer Resources tSls fd Keyboard, Memory, Processor, Hard Disk, Floppy Disk, CD Drive, Monitor vkfn dks Access djds Application Program dh Requirement dks iwjk djrk gSA lHkh Applications dks API Functions Operating System Windows }kjk izkIr gksrs gSaA gj API esa cgqr lkjs System Defined Functions gksrs gSa tks fofHkUu izdkj ds dke djrs gSaA ;s
  • 15. 14 www.BccFalna.com Windows Programming in C API Functions Dynamic Link Library (DLL Files) ds :i esa Windows ds System uke dh Directory esa gksrs gSaA gj Windows Environment dk Lo;a dk ,d API gksrk gSA mnkgj.k ds fy,] Windows 9x 32Bit API Provide djrk gS] ftls Win32 Interface Hkh dgk tkrk gSA API }kjk iznku fd, tkus okys lHkh Functions 32bit Information ds lkFk fdlh fn, x, le; esa dke dj ldrs gSaA API Functions dk iz;ksx djrs gq, Windows Environment ds fy, Programs fy[kus dh izfØ;k esa dke vkus okys fofHkUu izdkj ds vo;oksa dks SDK ( Software Developer’s Kit ) Programming dgk tkrk gSA Programming in DOS vs Windows T;knkrj CUI Programs Directly Computer Hardware dks Access djrs gSaA bldk eryc ;s gqvk fd tc fdlh CUI Application dks pkyq fd;k tkrk gS rks Computer ds lHkh Hardware o Resources dh Controlling ml Application ds Under pyh tkrh gSA fQj dsoy ml Application }kjk gh Computer ds fofHkUu izdkj ds Hardware Access gksrs gSaA Operating System dk Role rc rd ds fy, lekIr gks tkrk gS tc rd fd ml Application dks Close uk dj fn;k tk,A bl dkj.k ls ,d le; esa dsoy ,d gh Application Software Run gks ldrk gSA tcfd Windows dks bl izdkj ls cuk;k x;k gS fd fdlh Hkh le; Computer ds lkjs Controls Windows ds gh Under gksrs gSaA Windows gh ;s r; djrk gS fd fdl le; fdl Application dh fdl t:jr dks iwjk djuk gSA Windows Programming Model - Message Passing System Windows ds fy, tks Application Softwares fy[ks tkrs gSa] os vU; Console Mode Application Softwares ls vyx gksrs gSaA gkykafd Console Mode ds Programs lkekU; dke ds fy, vkSj Programming ds Basic Fundamental dks le>us ds fy, dkQh vPNs gksrs gSa] ysfdu ;s Programs MS-Windows tSls Multitasking Environment ds fy, dke ds ugha gksrs gSaA Windows Environment esa Computer dk gj Resource dbZ Application Programs }kjk Share gksrk gSA tSls fd Screen, Keyboard, Mouse ;gka rd fd User Hkh Share gksrk gSA Windows ds fy, fy[ks x, Softwares esa ;s fo”ks’krk gksuh pkfg, fd os leku le; esa Run
  • 16. 15 www.BccFalna.com Windows Programming in C gks jgs fofHkUu izdkj ds Windows o Windows ds vU; Applications Softwares ds lkFk feydj dke dj ldsaA Windows ds bl izdkj ds lg;ksxiw.kZ okrkoj.k esa tc Hkh fdlh Program esa dksbZ Event Generate gksrk gS] rks Windows }kjk ml Program dks ,d Message Hkstk tkrk gSA Program dks tks Hkh Message Hkstk tkrk gS] mldk ,d fo”ks’k mn~ns”; gksrk gSA mnkgj.k ds fy, tc Hkh fdlh Program ds fdlh Menu ds fdlh Option dks Select fd;k tkrk gS rks Window }kjk Program dks ,d Message Hkstk tkrk gSA tc Hkh fdlh Dialog Box ds fdlh Command dks Click fd;k tkrk gS rks Window }kjk Dialog Box dks ,d Message Hkstk tkrk gSA ;kuh tc Hkh Program esa dksbZ Event Generate gksrk gS] Window }kjk ml Event dks Handle djus ds fy, ,d Message Hkstk tkrk gSA Message Passing Windows dh ,d eq[; fo”ks’krk gSA bl izfØ;k dks ,d mnkgj.k }kjk le>rs gSa& eku yhft, fd geus ,d ,slk Program fy[kk ftlesa ,d Form ij ,d Button gSA ge tc Hkh bl Button ij Click djrs gSa] rks Form ij “Welcome To Window Programming” String Print gks tkrk gSA pfy,] le>us dh dksf”k”k djrs gSa fd ,d Window Based Program fdl izdkj ls Execute gksrk gSA tc ge bl Program dks Run djrs gSa] rks Program ds fofHkUu Data Initialize gksrs gSa vkSj Window Display gksrk gS] ftl ij ,d Command Button gSA blds ckn Program, User ls Input dh izrh{kk djrk gSA tc User Form ij fLFkr Button ij Click djrk gS] rc Mouse dk Click Event Generate gksrk gSA bl Event dks Mouse dk Device Driver Identify djrk gS vkSj bl Event dh Information Windows dks nsrk gSA ftl rjg gj fØ;k dh izfrfØ;k gksrh gS mlh rjg Windows bl Event dh izfrfØ;k ds :i esa ml Application dks ,d Message Hkstrk gS] ftlds Form ij fLFkr Button ij Click fd;k x;k gSA ;s Message Application Program dks crkrk gS fd ml Program ds fdl LFkku ij Click Event Generate gqvk gSA bl izdkj ls Operating System Windows fdlh Hkh Application dks Message Hkstdj mlls Communication djrk gSA tc Application Program Operating System Windows ls Message izkIr djrk gS] rks og okil Operating System ls Communication djds String dks Screen ij Display djus ds fy, Windows ds ,d API Function dks Call djrk gSA ;s API Function vc
  • 17. 16 www.BccFalna.com Windows Programming in C Monitor ds Graphics Card ds Device Driver ls Communication djrk gS vkSj String dks Monitor ij Display dj nsrk gSA bl rjg ge ns[k ldrs gSa fd Windows Programming Modal esa Application o Operating System ds chp ,d Two-Way Communication gksrk gSA ;kuh Computer dk iwjk Control fdlh Hkh le; fdlh ,d ds ikl ugha gksrk cfYd nksuksa fey dj fdlh leL;k dk lek/kku izkIr djrs gSaA bl Programming Modal esa Application Software dHkh Hkh fdlh Hardware ds lkFk Direct Communication ugha djrk cfYd API Functions o Windows dh enn ls Program viuh Requirements dks iwjk djrk gSA Computer ds fofHkUu Recourses dks ,d gh le; esa Run gks jgs dbZ Programs dks miyC/k djokuk Windows dh nwljh fo”ks’krk gSA tc Hkh dksbZ Program fdlh Computer Resource dks Use djuk pkgrk gS rks og Windows ls mls Use djus dh btktr ysus ds fy, ,d Request Message Hkstrk gSA Windows Program dh Request dks iwjk djus ds fy, Resource dh Controlling ml Program dks nsrk gS vkSj tc Program ml Resource dks Use dj ysrk gS] rks Windows ml Resource dh Controlling okil ys ysrk gS rkfd ml Resource dks dksbZ vU; Program Use dj ldsA tSls ekuk fd ;fn Notepad o Word Pad nksuksa esa gh ,d File gS ftls Print djuk gSA ;fn ge Notepad esa igys Print Command nsrs gSa] rks ,d Message Windows esa tkrk gS vkSj Printing ds fy, Windows ls Request djrk gSA Windows Notepad dh Request dks iwjk djus ds fy, Printer dks Access dj ldus okys API Function dks Call djrk gS vkSj Printer dh Controlling Notepad dks nsrk gSA Notepad dk Data Print gksus ds ckn Printer dh Controlling okil Windows ds ikl gksrh gSA ;fn vc Word Pad dh fdlh File dks Print djuk gks rks Word Pad ds Print Command dks Access djrs gSaA vc Word Pad Windows ls Printing ds fy, Request Message Hkstrk gSA Windows Word Pad dh Request dks iwjk djus ds fy, Printer dh Controlling WordPad dks nsrk gS vkSj File print gksus ds ckn Printer dh Controlling dks okil izkIr dj ysrk gSA bl izdkj ,d gh Printer dk iz;ksx Notepad o WordPad nksuksa dj ysrs gSaA Windows esa First In First Out (FIFO) System esa dke gksrk gSA ftl Software dk tks Message Windows dks igys izkIr gksrk gS Windows ml Software dh ml Request dks igys iwjk djrk gS vkSj tks Request ckn esa gksrh gS Windows ml Request dks ckn esa iwjk djrk gSA
  • 18. 17 www.BccFalna.com Windows Programming in C Windows ,d gh le; esa ,d ls vf/kd Programs dks Run djus esa l{ke gS] blfy, Windows Programs bl izdkj ls Design gksrs gSa fd os System ds fofHkUu Resources dks Share djrs gSaA Windows, fdlh nwljs Program ds Modules o Data dks Memory esa Store djus ds fy,] igys ls Open fdlh Application ds Programs o Data dks Memory esa ,d LFkku ls nwljs LFkku ij Move djrk gSA bl izdkj dk Movement ;s lqfo/kk nsrk gS fd ge de Memory esa Hkh ,d ls vf/kd Programs dks Access dj ldrs gSaA ,d Programmer ds :i esa ge ;s ugha eku ldrs gSa fd Program dk dksbZ Hkh fgLlk Memory esa yEcs le; rd ,d gh Memory location ij jgsxkA Windows gesa bl izdkj ds Tools iznku djrk gS fd ge Moveable Memory ds lkFk Hkh izfØ;k dj ldrs gSaA MS–DOS fdlh Hkh Application dks System ds fdlh Hkh Resource dks Access djus ls ugha jksdrk gS] pkgs Resource fdruk Hkh Critical D;ksa uk gksaA ysfdu Windows esa OS ds Key Components o Hardware dks Program ls Encapsulated j[krk gS] ftlls Program Crash gksus dh leL;k ugha gksrh gSA OS fdlh Hkh [kjkc izksxzke ds Misbehaving dks Hkh /;ku es j[krk gSA CUI – Based Programs User ls Input ysus ds fy, Operating System dks Call djrs gSa] tcfd Windows Programs User ds Input dks Operating System ls izkIr Messages ds }kjk Process djrs gSaA Device Driver Computer esa gj Device o Hardware dks Use djus ds fy, ml Device ;k Hardware dk ,d Software gksrk gS tks gj Device cukus okyh Company Device ds lkFk esa iznku djrk gSA ;s Device Driver Software gh ;s r; djrk gS fd og Device fdl izdkj ls dke djsxkA fdlh Device ls dke djokus dh lkjh Functionality mlds Device Driver esa gksrh gSA ge fdlh Hkh Device ds Device Driver dk iz;ksx djds gh ml Device dks Access dj ldrs gSaaA tSls ;fn Computer esa Mouse dks pykuk gS rks Mouse dk Driver Memory esa Load gksuk t:jh gSA ;s Driver gh r; djrk gS fd Mouse fdl izdkj ls dke djsxkA
  • 19. 18 www.BccFalna.com Windows Programming in C Dynamic Linked Library (DLL) Files ge fdlh Hkh Windows Based Program esa ns[ksa rks dqN phtsa gesa yxHkx gj Application esa Common feyrh gSaA tSls% gj Window Based Application esa de ls de ,d Form Window gksrk gS] Buttons gksrs gSa] Menu System gksrk gS] vkfnA blh rjg dqN Dialog box Hkh yxHkx gj Application esa ,d tSls gksrs gSaA tSls% Open Dialog Box, Save As Dialog Box, Print Dialog Box, Status Bar vkfnA ;s lHkh phtsa lHkh Applications esa ,d tSlh blfy, gksrh gSa D;ksafd ;s lHkh phtsa Windows ds lkFk gh Hard Disk esa Install gks tkrh gSaA ;kuh ;s lHkh phtsa gesa Programming }kjk ugha cukuh iMrh cfYd ;s lHkh phtsa igys ls gh Windows ds Operating System esa gekjs Computer esa miyC/k jgrh gSaA bu lHkh phtksa dks izkIr djus ds fofHkUu izdkj ds Functions gksrs gSa] ftUgsa API Functions dgrs gSaA ;s Functions DLL Files ds :i esa Window esa gesa”kk gksrh gSaA DLL Files os QkbZysa gksrh gSa tks Binary Form esa Windows ds lkFk gh Install gks tkrh gSa vkSj fdlh Hkh Application ls dsoy mlds Run Time esa gh Connect gks dj] ml Application dh Requirement dks iwjk djrh gSaA bu Qkbyksa esa fofHkUu izdkj ds API Functions Binary Format esa gksrs gSaA ge gekjs Program esa tc pkgsa rc bUgsa Call djds Use dj ldrs gSaA pwafd ;s Files gesa”kk Windows ds System uke ds Folder esa gksrh gSa blfy, ;s gekjs Program esa dsoy Program ds Run gksrs le; gh tqMrh gSa vkSj gekjs Program dh Requirement dks iwjk djrh gSaA ;fn ge fdlh API Function dks vius Program esa Call djrs gSa rks dsoy ml API Function dk Reference gh gekjs Application esa vkrk gSA tc ge Program dks Compile djds mldh EXE Generate djrs gSa] rc Hkh bu DLL Files dk dsoy Reference gh Compiler gksrk gSA tc ge vius Application dh Exe File dks Execute djrs gSa] EXE File bu DLL Files dks Run Time esa vius lkFk tksM ysrh gSa vkSj bu DLL Files ds API Functions dks Access dj ysrh gSaA ge ftu API Functions dks vius Application esa dke esa ysrs gSa os API Functions ftu DLL Files esa gksrs gSa] os DLL Files gekjs Application ds lkFk Compile ugha gksrh gSa cfYd dsoy Run Time esa gh tqMrh gSaA Windows esa yxHkx 1000 ls T;knk API Functions gSa ftUgsa ge vius Program esa Use dj ldrs gSaA lksafp,] ;fn ;s lHkh Functions gekjs Application ds lkFk Compile gksa rks gekjk Application Program fdruk cMk cu tk,xkA blhfy, bu Functions dks DLL Files ds :i esa Windows esa j[k fn;k x;k gSA ;s Functions gekjs Program ds Execution ds nkSjku gekjs
  • 20. 19 www.BccFalna.com Windows Programming in C Program ls Dynamically Linked gks tkrs gSa vkSj gekjs Application dh Requirement dks iwjk djrs gSaA fofHkUu izdkj ds API Functions dks pkj DLL Files ds :i esa foHkkftr djds Windows dh System uke dh Directory esa j[k fn;k tkrk gSA ;s pkjksa DLL Files fuEuukuqlkj gSa% USER32.DLL bl DLL File esa fdlh Application ds Management o Building ls lEcaf/kr lkjs Functions gksrs gSaA Input o Output ls lEcaf/kr lHkh dke blh DLL File esa fLFkr API Functions }kjk lEHko gksrs gSaA Key Board o Mouse ls vkus okys fofHkUu izdkj ds Inputs o gekjs Application dks Pass gksus okys fofHkUu izdkj ds Messages blh Layer ls gksdj xqtjrs gSaA User ds Input o Output ls lEcaf/kr fofHkUu izdkj ds Menus, Cursors, Forms, Check Boxes, Radio Buttons, Commands vkfn cukus ds Functions blh DLL File esa gksrs gSaA GDI32.DLL bl DLL File esa Graphics o Designing ls lEcaf/kr lkjs Functions gksrs gSaA blh DLL File ds API Functions }kjk ge Screen ij fofHkUu izdkj dh Drawings cuk ikrs gSaA fofHkUu izdkj ds Fonts, Pens vkSj Brushes Use dj ikrs gSaA KERNEL32.DLL bl DLL File esa Computer ds fofHkUu Resources o Operating System ds lkFk Interactions djus ds API Functions gksrs gSaA ;fn gesa vius Program }kjk viuh RAM dh Memory Kkr djuh gks] rks ges bl DLL File ds API Functions dk iz;ksx djuk gksrk gSA WINMM32.DLL bl DLL File esa Multimedia Programming ls lEcaf/kr lkjs API Functions gksrs gSaA bl DLL File ds API Functions dk iz;ksx djds ge fofHkUu izdkj ds Audio, MIDI Music, Digital Video vkfn ls lEcaf/kr dke dj ldrs gSaA
  • 21. 20 www.BccFalna.com Windows Programming in C What Are Messages Windows Environment ds fy, fy[ks x, Programs esa Main Windows esa Hksts x, Events ds vuqlkj Windows React djrk gSA Mouse dks Move djuk] Click djuk] Key Board ls fdlh Key dks Press djuk] fdlh Window dks Activate ;k Deactivate djuk vkfn Program ds Events gksrs gSA ;s Events Windows esa Message ds :i esa Hksts tkrs gSaA gj Message dk ,d fo”ks’k mn~ns”; gksrk gS Bhd mlh rjg ftl rjg gj Event dk ,d mn~ns”; gksrk gSA tSls Window dks Resize djuk] Window dks Close ;k Minimize djuk vkfnA ;kuh fdlh Hkh t:jr dks iwjk djus ds fy, fdlh Hkh izdkj dh Action Event gS vkSj gj Action Windows ds fy, ,d Message gS ftlds Reaction ds :i esa Windows gekjs okafNr dke dks iwjk djrk gSA ,d Window Program vU; Window Program dks Hkh Message Hkst ldrk gS D;ksafd Window Program esa Use gksus okyk gj Control Lo;a ,d Window gksrk gSA Messages dk iz;ksx vDlj Controls ds lkFk Communication djus ds fy, Hkh gksrk gSA ,d Windows Program nks vyx rjg ds Messages dks Handle djrk gS & • os Messages tks Operating System }kjk Program dks Hksts tkrs gSa mUgsa vkSj • os Messages tks fdlh Control ls o Control dks Hksts tkrs gSa tks fd User ds Input }kjk dk;Z djrs gSaA os Messages tks fdlh Program dks pkyw ;k cUn djus dk funsZ”k nsrs gSa ;k fdlh Window dks Resize ;k Move gksus dk funsZ”k nsrs gSa] Operating System }kjk fdlh Program dks Hksts tkus okys Message gksrs gSaA fdlh Window }kjk Use gks jgs Font ;k Window ds Title dks Change djus ds fy, fdlh Control }kjk Program Window dks Message Hkstk tkrk gS vkSj Program esa fdlh Edit Control esa User }kjk Text Input fd;k x;k gS ;k dksbZ Character Press fd;k x;k gSA ;s Notification fdlh Control }kjk Program Window dks izkIr gksrk gSA Windows esa Messages dks nks dkj.kksa ls bruk vf/kd bLrseky fd;k tkrk gS& • Message Physical Data dk ,d fgLlk gksrk gS blfy, ;s vklkuh ls Prioritized o Queue gks tkrk gSA • Message fdlh Hkh fo”ks’k Language ;k Processor Type ij Depend ugha gksrk gS blfy, ,d Message Based Program dks fdlh Hkh vU; Computer ij vklkuh ls Run fd;k tk ldrk gSA
  • 22. 21 www.BccFalna.com Windows Programming in C Event Driven Programming ds fy, Queues dkQh vPNh rjg dke djrs gSaA tc Hkh dksbZ Event Generate gksrk gS rks rqjar ,d Message Create gksrk gS vkSj lEcaf/kr Program ;k Window dh Queue esa “kkfey gks tkrk gSA fQj ml Program ds Queue esa fLFkr gj Message dks fdlh Hkh Øe esa Handle fd;k tk ldrk gSA Event – Driven Architecture Windows Environment rc rd dqN Response ugha nsrk gS tc rd fd Windows Open fd, tkus okys Program dks Message Pass ugha djrk gSA Windows Message dks le>us ds fy, gesa Programming dk ,d u;k rjhdk viukuk iMrk gS] tks fd ,d u;k Program Architecture gksrk gS] tks Event–Driven Programming dgykrk gSA Windows Event- Driven Programming Architecture dks Use djrk gSA ;s ns[kus ds fy, fd gesa bl u, izdkj ds Program Architecture dh t:jr D;ksa gS] ge igys ;s ns[krs gSsa fd CUI Environment esa Program fdl izdkj ls dke djrk gSA Traditional MS DOS Program Model ,d Typical CUI Environment esa] ge Program ls fuEu Manner esa Interact djrs gSa % PROGRAM gesa Prompt djrk gS Enter your Name ge Response djrs gSa Kuldeep Mishra PROGRAM gesa Prompt djrk gS Press X to Exit ge Response djrs gSa X ge ns[krs gSa fd Program rc rd :dk jgrk gS] tc rd fd ge Response ugha djrs gSaA tc rd ge Response ugha djrs gSa] Computer ,d Infinite Loop esa pyrk jgrk gS vkSj Computer Busy jgrk gSA ;s ckj&ckj Keyboard dh Query djrk jgrk gS fd Input gqvk ;k ughaA gkykafd Computer User ls Input ds fy, Wait djrk gS ysfdu fQj Hkh CPU yxkrkj Instructions Execute djds ;s irk djrk jgrk gS fd Input gqvk ;k ughaA ikjEifjd rjhds esa OS dk eq[; dke fdlh Program dks “kq: djuk vkSj Program Control dks ml Application dks Pass dj nsuk gksrk gSA bl rjg tc ,d Program dks “kq: fd;k tkrk gS] rks tc rd Program dks Terminate ugha fd;k tkrk] rc rd Computer dk lkjk Control ml Program ds ikl gh jgrk gS lkFk gh CPU iwjh rjg ls Busy jgrk gSA tc dksbZ I/O Event gksrk gS] tSls fd dksbZ Key Press dh tkrh gS] rks Key dh Information lh/ks gh Opened Application Program dks Pass gks tkrh gSA tSlkfd fuEu fp= esa crk;k x;k gS%
  • 23. 22 www.BccFalna.com Windows Programming in C Windows Program Model Traditional MS DOS Program dsoy Single Task ds fy, gh mi;ksxh gSSA ;kuh ,d le; esa dsoy ,d gh Program Execute gks ldrk gSA fQj Hkh Windows esa ,d gh le; esa Screen ij fn[kkbZ nsus okys fofHkUu Application Programs dks CPU dk Time Share djrs gq,] ,d ls vf/kd Program Memory esa jg ldrs gSaA Windows o User ds chp gksus okys fofHkUu izdkj ds Interactions Messages }kjk gksrs gSaA tc ge Windows dks Use djrs gSa] rc dqN loky iSnk gksrs gSa & 1 Windows Environment esa ;fn ,d Application Program py jgk gS vkSj ge CTRL + ESC Key Combination dks Press djrs gSa] rks bls dkSu Handle djrk gS 2 ;fn dbZ Applications py jgs gSa] vkSj ge dksbZ Key Press djrs gSa] rks ;s dkSu r; djrk gS fd Press dh tkus okyh Key fdl Application ds fy, Press dh xbZ gS 3 ;fn ge Mouse dk Button nckrs gSa] rks ;s dkSu r; djrk gS fd dkSulk Application Affected gksxk 4 ;fn nks Application Printer dks Use djuk pkgrs gSa] rks ;s dkSu r; djrk gS fd dkSulk Application igys Printer dks Access djsxk bu lokyksa dk fo”ys’k.k djds ge tku ldrs gSa fd Traditional MS DOS Programming Model Windows esa dke ugha djsxkA dksbZ ,d Application Program ;s r; ugha dj ldrk gS fd Press dh tkus okyh Key fdl Application ds fy, gSA dksbZ vU; Program gh bl ckr dk irk j[k ldrk gSA Windows lHkh izdkj ds Mouse Clicks, Keystrokes, Disk and Printer Access o I/O Related Events dks Handle djus ds fy, ftEesnkj gksrk gSA dksbZ Hkh Single Program fdlh I/O Device dk Direct Control ugha ys ldrk gSA ;fn ,slk gksrk gS] rks nwljk Application fdlh izdkj dk Input ughas ys ldsxk tks fd mlds fy, gksxkA I/O Event (For example, a key press) Application I / O Event Interacting Directly with the Application
  • 24. 23 www.BccFalna.com Windows Programming in C tc ge Mouse Button Click djrs gSa] rks Windows ;s irk djrk gS fd Mouse Cursor dgka gS vkSj Mouse Click dh Information dks mlh Application dks Transfer djrk gS] tks Application Mouse Click fd, x, Area ds Just uhps gksrk gSA vU; Program] tks fd Screen ij fn[kkbZ ns jgs gSa] Unaffected jgrs gSaA tc ge dksbZ Key Press djrs gSa] rks Windows ;s irk djrk gS fd dkSulk Application Currently Active gS vkSj mlh Application dks Keystroke Information Hkst nsrk gSA fuEu fp= esa crk;k x;k gS fd fdl izdkj ls Windows esa Events dks Handle fd;k tkrk gS & nwljs “kCnksa esa] System esa ftrus Hkhs Messages Generate gksrs gSa] os lHkh System dh System Queue esa Queued Up gks tkrs gSa] ftUgsa Windows }kjk Maintain fd;k tkrk gSA System Queue ls] Windows fofHkUu Applications ds Messages dks Filter djrk gS vkSj mUgsa Appropriate Application Message Queue esa Move djrk gSA ;s Application dh Responsibility gS fd og Message Queue ls Message dks izkIr djs vkSj mls Process djsA Different Messages Different Applications esa Different rjhds ls Respond djrk gSA tSls fd MS–Paint esa Mouse Drag djus ij ,d Line curh gS] tcfd MS-Word esa Mouse dks Drag djus ij Characters Select gksrs gSaA Windows Based Applications esa ftrus Hkh Events gksrs gSa] os lHkh Message Generate djrs gSa] ftudks Windows Manage djrk gSA Windows Application Development Tools Code fy[kuk vkSj mls Compile djuk gh Application Building ugha gSA Code fy[kus ds ckn mls Debug djuk] Test djuk] Deploy djuk o Maintain djuk Hkh Developer dk gh dke gSA ,slk djus ds fy, dqN Tools o Environment dh t:jr gksrh gSA mnkgj.k ds fy,] SDK gesa ,d Compiler nsrk gS] tks fd gekjs Codes dks Compile djrk gS vkSj ,d
  • 25. 24 www.BccFalna.com Windows Programming in C Debugger gksrk gS] ftldk iz;ksx ge Program dks Debug djus esa djrs gSaA bl Software dks ge lk/kkj.kr;k IDE dgrs gSaA SDK ( Software Development Kit ) SDK ,d ,slk IDE gS] tgka Developer fofHkUu WIN32 API Structures o Functions dk iz;ksx djds Windows Based Programs Develop djrs gSaA ,d API dks ge Software dh ,d ,slh iryh ijr ds :i esa Define dj ldrs gSa tks fd Developer dks dqN Functionality iznku djrk gSA API tks Functionality iznku djrk gS] og Functionality Application o Windows Based OS ds chp ,d Interface dh rjg dke djrk gSA bl Concept dks fuEu fp= }kjk le>k tk ldrk gS & Difference Between Procedure (Routine) And Functions bu nksuksa esa eq[; vUrj ;gh gS fd Functions gesa”kk dksbZ uk dksbZ eku Return djrs gSa tcfd tks Function fdlh izdkj dk dksbZ eku Return ugha djrs] mUgsa Procedure ;k Routine dgrs gSaA Message Passing Windows okLro esa gekjs fdlh Hkh Application Program esa fdlh Function dks Call ugha gksus nsrk cfYd Windows gekjs Application Program ds gj Function dks Lo;a Call djrk gSA Application dks ftu Parameters dh t:jr gksrh gS] mu Parameters dks Application
  • 26. 25 www.BccFalna.com Windows Programming in C dks nsrk gS vkSj Application dks fofHkUu izdkj ds Messages ns dj mls crkrk gS fd mls dc D;k djuk gSA Application Windows OS ls vkus okys Messages dks Process djds irk yxkrk gS fd Windows OS mlls D;k djokuk pkgrk gSA Message dk irk yxkus ds ckn Application program mu Message ds vuqlkj dke djrk gSA Windows T;knkrj le; gekjs Application dks fofHkUu izdkj ds Messages Send djds gekjs Application ls Communication djrk gSA Message Passing djuk fdlh Procedure dks Call djus dk ,d Modern rjhdk ek= gSA lh/ks rjhds ls dgsa rks dg ldrs gSa fd fdlh Application dks Message Hkstuk ;k ml Application ds fdlh Function dks Call djuk nksuksa ckrksa dk ,d gh eryc gSA pfy,] bl ckr dks Real Life ls tksMrs gq, ,d mnkgj.k ls le>rs gSaA eku yks fd ,d tkWu uke dk vkneh gS ftldh rhu Book Stalls gSaA rhuksa Book Stalls ij mlus rhu Employee j[ks gSa tks mldh Book Stall ij dke djrs gSaA viuh gj Book Stall dks mlus ,d Unique Number ns j[kk gS ftlls og vius fdlh [kkl Book Stall dks igpku ysrk gSA tkWu dk dke djus dk ,d [kkl rjhdk gSA rhuksa Book Stalls ij ,d&,d Phone gS ftlls og gj le; vius rhuksa Book Stalls ls tqMk jgrk gSA mldk dke djus dk rjhdk ;s gS fd tc Hkh fdlh Book Stall ls dksbZ Book Sell gksrh gS rks ml Book Stall dk Employee tkWu dks Qksu djrk gS ;kuh Call djrk gS vkSj mls crkrk gS ;kuh Message nsrk gS fd mldh Book Stall ls dkSulh Book Sell gqbZ gSA ;gh rjhdk Window Operating System esa Message Passing dk gSA Window OS Application ls fdlh Functions dks Call djrk gS vkSj mls ,d Message nsrk gSA Message esa og crkrk gS fd Application dks D;k djuk gSA bl Message ds eku dks Process djds gekjk Application fofHkUu izdkj ds dke djrk gSA bls FkksMk vkSj vyx rjhds ls ns[ksa rks fdlh Function dks Call djus dk eryc] ml Call fd, tk jgs Functions ds Statements dks Execute djus ds fy, Computer ds Control dks FkksMh nsj ds fy, ml Function esa Hkstuk gksrk gSA tSls gh Function ds Statements dk Execution gks tkrk gS Windows Control dks okil izkIr dj ysrk gSA blh izfØ;k dks Windows esa Message Pass djuk dg ldrs gSaA Message okLro esa dqN Parameters ;k Arguments dh ,d List ds vykok dqN ugha gksrk gSA ;fn ge gekjs Application Program dks /;ku esa j[krs gq, ns[ksa rks fdlh Standard
  • 27. 26 www.BccFalna.com Windows Programming in C Procedure ;k Function dks Call djus vkSj gekjs Application esa Windows OS }kjk Message Pass djus esa cgqr gh de vUrj gksrk gSA Message Send djus ij Windows gekjs Application dks dqN Parameters Hkstrk gSA ;s Parameters Application dks crkrs gSa fd Windows ml Application ls D;k djokuk pkgrk gSA blfy, gekjs Application esa fofHkUu izdkj ds Subroutines dks Call djus ds ctk; Windows flQZ ,d Special izdkj ds Procedure dks Call djrk gS ¼ftls Window Procedure ;k wndproc dgrs gSaA½ vkSj bl Procedure esa Message Hkstrk gS] ;kuh Arguments ;k Parameters dh ,d List Hkstrk gSA Windows }kjk Hksts tkus okys Message (Parameters) Window Procedure dks crkrs gSa fd dkSulk Event Generate gqvk gS ftls ml Window Procedure dks Handle djuk gSA rc Window Procedure ml Event dks Handle djus okys Codes dks Execute djus ds fy, Control dks mu Code Block esa Transfer (Dispatches) djrk gS] tks ml Event dks Handle djrs gSaA DOS vkSj Windows ds Procedure Calling esa ,d gh vUrj gS vkSj og ;s gS fd DOS Based Application Program esa ge DOS ds Procedures dks Call djrs gSa] tcfd Windows Based Procedure Call esa Windows gekjs Application ds fofHkUu Procedures dks Call djrk gSA Windows gekjs Application dks tks Messages Hkstrk gS os dkQh NksVs yxHkx 16 Byte ds gksrs gSaA bu 16 Bytes esa ls 4 bytes esa Message dh Identification gksrh gSA ;kuh ,d Integer eku gksrk gS tks gekjs Window Procedure dks crkrk gS fd dkSu lk Operation ;k dke djuk gSA bUgh 16 Byte esa ls 4 Byte dk ,d Window Handle gksrk gSA ge gekjs Program esa Window ds ftrus Hkh Functions Call djrs gSa] mu lHkh esa bl Window Handle dh t:jr gksrh gSA cps gq, 8 Byte esa 4 Byte ds nks Data Parameter gksrs gSa] tks gekjs Program dks Message ls lEcaf/kr Data iznku djrs gSaA Handles blls igys fd ge Windows dh Coding ds ckjs esa ckr djsa] gesa lcls igys Windows ds Data Structure dks le>uk gksxk] ftls Handle dgrs gSaA Windows OS esa ftrus Hkh Objects tSls fd Buttons, Menu Items, Forms vkfn gksrs gSa mu lHkh Object dk 4 Byte dk ,d Unique Integer Number gksrk gS] ftlls fdlh veqd (Specific) Object dh igpku
  • 28. 27 www.BccFalna.com Windows Programming in C gksrh gSA blh Unique Number dks Handle dgrs gSaA ;kuh Windows ds gj Object dk ,d Handle gksrk gS] ftlds }kjk Windows ml Object dks igpku ikrk gSA fdlh Hkh Object dk tks Handle gksrk gS] og flQZ Windows ds mi;ksx ds fy, gksrk gSA Programmer dks ml Handle ls dksbZ eryc ugha gksrkA fdlh Hkh Handle dk eku Windows esa fLFkr fdlh Table esa ,d Index Number ds :i esa gksrk gSA bl Table esa Windows ds fofHkUu Objects ds Reference Number gksrs gSaA tc Hkh Windows fdlh Object dks Access djuk pkgrk gS] Windows ml Table ls ml veqd Object ds Reference Number ;k Handle ls ml Object dks Access djrk gSA API Functions ds Call djus ij Windows OS Use gks jgs fdlh Object ds Handle ;k Unique Index Number dks gekjs Application Program esa Hkstrk gSA gekjs Application Program dks ml Handle dks Save djuk gksrk gS rkfd tc Hkh ml Object dks Access djuk gks] gekjk Application ml Handle dk iz;ksx djds ml Object dks Access dj ldsA fofHkUu izdkj ds Handles dks Header Files esa Define fd;k x;k gksrk gSA okLro esa ge fdlh Hkh Handle ds lkFk fdlh Hkh izdkj dh dksbZ izfØ;k ugha djrs gSaA ge dsoy ml Handle dks Win32 API Functions esa Hkstrs gSaA Windows esa Programming djrs le; ge Hungarian Notation dks Use djrs gSa rkfd ge Windows ds fofHkUu izdkj ds ukeksa dks igpku ldsaA ftl fdlh Hkh Variable ds uke ds milxZ ds :i esa “h” dk iz;ksx fd;k tkrk gS] og ,d Handle Variable gksrk gSA ;kuh ml Variable esa fdlh Object dk Handle Number gksrk gSA tSls fdlh Variable dk uke ;fn hWnd gS] rks bldk eryc gS fd ml Variable esa fdlh Window dk Handle ;k Unique Integer Number ;k Unique ID Number gS] ftlls ml Window dh igpku gks ldrh gS vkSj ge ml Window ds lkFk dke dj ldrs gSaA Handle dh gesa D;k t:jr gS bls le>us ds fy, ,d mnkgj.k ns[krs gSaA ekuk fd ,d Dialog Box gS ftl ij ,d Command Button gSA gesa Program ds Run Time esa Dialog Box dk Title Change djuk gSA bl fLFkfr esa ge ;s dSls r; djsaxs fd ge tks Coding fy[k jgs gSa og Dialog Box dk Title Change djsxk ;k Dialog Box ij fLFkr Button dkA ;gka ge Handle dk iz;ksx djds ;s r; djrs gSaA D;ksafd gj Form o Button dk ,d Unique Number gksrk gS ftls ml Object dk Handle dgrs gSaA vc ;fn ge Dialog Box ds Form dk Handle Use djsaxs rks Dialog Box ds Form dk Title Change gksxk vkSj ;fn ge Button ds Handle dk iz;ksx djsaxs rks Button dk Title Change gksxkA Handle dksbZ Pointer ugha gksrk cfYd “C” Programming Language in Hindi File Management ds
  • 29. 28 www.BccFalna.com Windows Programming in C vUrxZr geus ftl Handle dk iz;ksx fd;k Fkk] ogh Handle Windows dh Programming esa Hkh gksrk gSA
  • 30. 29 www.BccFalna.com Windows Programming in C Windows Programming Using C
  • 31. 30 www.BccFalna.com Windows Programming in C Windows Programming In C Main Program fdlh Hkh GUI Application esa vyx&vyx Applications esa main Program esa cgqr gh de cnyko gksrk gSA ge ,d ckj ,d Window dks cukus ds fy, tks Code fy[krs gSa] vU; fdlh Program esa mlh rjg dk Window cukus ds fy,] ges dsoy mu Codes dks Copy djds Paste gh djuk gksrk gSA ckj&ckj dksbZ Window Create djus ds fy, gesa iwjs main Program dh Coding djus dh t:jr ugha gksrh gSA ysfdu fo/kkfFkZ;ksa dks Visual “C” dh Programming lh[krs le; gj ckj main Program fy[kus dh dksf”k”k djuh pkfg, ugha rks “C” esa Graphics dh Programming djus okyk tYnh gh Hkwy tk,xk fd fdlh main Program dh dkSu lh Coding fdl fy, fy[kh xbZ gSA Window dh Coding cgqr gh tYnh fnekx ls fudy tkrh gSA fdlh Hkh GUI Application ds main Program dk lcls t:jh dke mlds Window Procedure dks Operating System esa Register djuk gksrk gSA fcuk Window Procedure dks OS esa Register djk, ge dksbZ Hkh dke ugha dj ldrsA D;ksafd tc rd main Program Application ds Window Procedure dks Window esa Register ugha djokrk] ge Window ds fdlh Hkh Built-In Function (API Functions) ;k Window }kjk iznku dh tkus okyh fdlh Hkh lqfo/kk dks izkIr ugha dj ldrsA fdlh Window Procedure dks OS Windows esa Register djokuk ,d yEch izfØ;k gSA okLro esa ge Window Class dks Windows OS esa Register djokrs gSaA Window Class ,d Data Structure gS Bhd mlh rjg] ftl rjg Arrays, Structures o Unions vkfn Data Structure gSaA bl Class esa gekjs Application ls lEcaf/kr Window dh t:jh Information dks Initialize fd;k tkrk gSA ;kuh bl Class esa ge Operating System Windows dks crkrs gSa fd gesa fdl izdkj dk Window Create djuk gSA gekjs main Program dk ,d eq[; dke bl Class Data Structure dks Initialize djuk Hkh gksrk gSA ;kuh ge gekjs Create gksus okys Window dh Data Structure Initialize djus ds ckn Windows Operating System dks Call djds ml Window Class dks Register djokrs gSaA gkykafd Microsoft bl Structure dks Describe djus ds fy, “class” “kCn dk iz;ksx djrk gSA ysfdu ;s flQZ ,d rjhdk gSA okLro esa WINDOW Class ,d Structure gksrk gS vkSj ftl rjg fdlh Structure izdkj ds Variable ge gekjh t:jr ds vuqlkj Create djrs gSa]
  • 32. 31 www.BccFalna.com Windows Programming in C oSls gh ge WINDOW izdkj ds Variable Create djrs gSaA WINDOW izdkj ds Variables dks Object dgk tkrk gSA tSls WINDOW ,d Class gS vkSj ge WINDOW izdkj dk ,d Variable Create djuk pkgsa rks ge WINDOW win; Code }kjk WINDOW Class dk ,d Variable Declare dj ldrs gSaA /;ku j[ksa fd Microsoft us bl Class “kCn dk iz;ksx Object Oriented Programming Concept ds Develop gksus o C++ esa Object Oriented Programming rduhd dks tksMus ls igys cuk;k FkkA bl Class dk Object Oriented Programming ls dksbZ lEca/k ugha gSA gkykafd Microsoft dh MFC (Microsoft Foundation Class) Library Object Oriented Programming Concept ij vk/kkfjr gSA pfy,] igys Class dks FkksMk le> ysa rkfd OOPS esa o Windows Based Programming esa Use gksus okys Class ds chp dksbZ Confusion uk jg tk,A fdlh Hkh Object ;k pht ds lewg dks mldh izd`fr ds vuqlkj ,d lewg esa O;ofLFkr dj nsuk vkSj mldk ,d uke ns nsuk] bl izfØ;k dks ge ,d Class cukuk dg ldrs gSaA tSls bUlkuksa dks ge ,d Class ;k oxZ esa foHkkftr dj ldrs gSaA bl oxZ esa dsoy bUlku gh gksrs gSa ftudh viuh dqN vyx fo”ks’krk,a gksrh gSa] ftlls mUgsa vU; thoksa ls vyx :i esa igpkuk tkrk gSA tSls gj bUlku ds nks gkFk] nks iSj] ,d eqag] ,d uke vkfn gksrk gSA ge bUlkuksa dk ,d oxZ ;k Class cuk ldrs gSa ftlesa bUlkuksa ds fofHkUu izdkj ds xq.kksa dks lfEefyr dj ldrs gSaA blh rjg ge pyus fQjus okys tkuojksa dk Hkh ,d oxZ cuk ldrs gSa] ftlesa fofHkUu izdkj ds tkuojksa dh fo”ks’krk,a gks ldrh gSA vkSj vkxs lkspsa rks ge fofHkUu izdkj ds Vehicles dh ,d Class cuk ldrs gSa] ftlesa ge Two Wheelers, Three Wheelers, Four Wheelers vkfn okguksa dh fo”ks’krk,a Store dj ldrs gSaA blh Concept ds vk/kkj ij Computer ds GUI esa dke vkus okys fofHkUu izdkj ds Objects dks Hkh ,d&,d Class esa foHkkftr fd;k x;k gSA tSls fofHkUu izdkj ds Window dh Class, Buttons dh Class, Menus dh Class vkfnA ftlesa fdlh Object dh fofHkUu izdkj dh Specifications dks Store djds j[kk tk ldrk gSA okLro esa ;s Classes ,d Structure gksrs gSaA budk Structure mlh rjg cukrs gSa] ftl rjg geus Structure Chapter ds vUnj cukuk lh[kk gSA ge ;gka ftl izdkj ds Class dh ckr dj jgs gSa og blh izdkj dh ,d Class gS] ftlesa fdlh Window dh fofHkUu izdkj dh fo”ks’krkvksa dks ,d lkFk ,d lewg esa j[kus o lapkfyr djus ds fy, ge Windows Class dk ,d Structure cuk ysrs gSa vkSj fQj bl Structure esa vyx&vyx izdkj ds eku Initialize djds vyx&vyx izdkj ds Window Create djrs gSaA
  • 33. 32 www.BccFalna.com Windows Programming in C Hungarian Notation Visual C dh Programming esa fofHkUu izdkj ls Variables ds ukeksa dks Use fd;k tkrk gSA bu ukeksa ds lkFk dqN milxZ yxk, tkrs gSaA bu milxksZa ls ge le> ldrs gSa fd Variable fdl Data type dk gSA ;s milxZ fuEukuqlkj gSa & Prefix Data Type c char by BYTE (unsigned char) n short int i int x, y int (used as x coordinate or y coordinate) cx, cy int (used as x or y length; c stands for ‘count’) b BOOL w WORD(unsigned short) l LONG (long) dw DWORD(unsigned long) fn function s string sz string terminated by a zero h handle p pointer Window Class Structure pfy,] vc ge ,d Window Class ds Structure dks ns[krs gSaA bl Structure esa fofHkUu izdkj ds ekuksa dks Initialize djus ds ckn ge bl Window Class Structure izdkj dk ,d Variable Declare djrs gSa vkSj bl Variable dks Windows Operating System esa Register djokrs gSaA Registration ds ckn ge bl Window Class ds dbZ Variable ;k Objects Create dj ldrs gSa vkSj gj Object ,d Window gksrk gSA Window Class ds Structure dks le>us ds fy, ge lcls igys Window Class dk ,d Variable Declare djrs gSaA ;kuh WNDCLASSEX NewWindow; vc ge Window Class ds Structure vkSj mlds fofHkUu Member Variables dks le>us dh dksf”k”k djrs gSaA Window Class Structure dk izk:i fuEukuqlkj gS ftls window.h Header File esa Define fd;k x;k gSA
  • 34. 33 www.BccFalna.com Windows Programming in C typedef struct { UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HANDLE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; } WNDCLASSEX, *PWNDCLASSEX; tc Hkh ge gekjs Program esa fdlh Window dks Create djuk pkgrs gSa] rks gesa bl Class dk ,d Variable Create djuk gksrk gSA Variable Create djus ds ckn gekjs gj Application ds main Program (og Program ftlesa main() Function fy[kk tkrk gS] main Program dgrs gSaA) dks bl Window Class ds Structure ds gj Member dks Initialize djuk gksrk gSA ;kuh main Program esa ge Window Class ds fofHkUu Member Variables dks Initialize djds ;s r; djrs gSa fd gesa fdl izdkj dk Window Create djuk gSA pfy,] bl Structure ds gj Member Variable dk D;k dke djrk gS] mls le>us dh dksf”k”k djrs gSaA 1. UINT cbSize; bl Member esa Structure dh Size dks Initialize fd;k tkrk gSA tSls NewWindow.cbSize = sizeof(WNDCLASSEX); UINT dksbZ u, izdkj dk Data Type ugha gS cfYd ;s ,d Unsigned Integer izdkj dk Variable gS ftls typedef dk iz;ksx djds UINT Declare fd;k x;k gSA ;kuh typedef unsigned int UINT; Windows bl eku dks ;s Check djus ds fy, Use djrk gS fd D;k ge ,d Reasonable Structure dks Register djokus ds fy, Function esa Pass dj jgs gSa ;k ughaA
  • 35. 34 www.BccFalna.com Windows Programming in C 2. UINT style; bl UINT style Member esa ge Window Class dh Style Specify djrs gSaA bl Member esa tks eku gksrs gSa mlls ;s r; gksrk gS fd Window fdl izdkj dk fn[kkbZ nsxkA vyx&vyx izdkj dh Styles dks Bitwise OR ( | ) Operator dk iz;ksx djds Combine fd;k tk ldrk gSA fofHkUu izdkj ds Styles fuEukuqlkj gSa & • NewWindow.style = CS_BYTEALIGHCLIENT ;s Style Windows OS dks crkrk gS fd og Window dks ,d Even Byte Boundary ij Align djs rkfd Window Repaint gksus dh Speed rst gksA bldk vlj Window dh Width vkSj mldh Screen dh Left Position ij gksrk gSA • NewWindow.style = CS_BYTEALIGNWINDOW ;s Style Windows OS dks crkrk gS fd og Window dks ,d Even Byte Boundary ij Align djs rkfd Window Repaint gksus dh Speed rst gksA bldk vlj Window dh Width vkSj mldh Screen dh Left Position ij gksrk gSA • NewWindow.style = CS_CLASSDC fdlh ,d Window Class ls Create gksus okys lHkh Window dks ,d Single Device Context Allocate djrk gS] ftls Class ds lHkh Window Share djrs gSaA ;s Option rc dke esa vkrk gS tc ge Multiple Thread ij dke djrs gSa tks fd leku Window esa Write djrs gSaA • NewWindow.style = CS_DBLCLK tc User ml Class ds Window ij Double Click djrk gS] ftldh Class mlus Window OS esa Register djokbZ gS] rc ;s Style Windows OS dks Window Procedure dks Double Click dk Message nsus ds fy, dgrk gSA • NewWindow.style = CS_GLOBALCLASS ;s Style fdlh Application dks hInstance Parameter dks] CreateWindow() ;k CreateWindowEx() Function esa fcuk Pass fd,] Window Create djus dh NwV nsrk gSA ;fn ge bl Style dks Specify ugha djrs gSa rks CreateWindow() ;k CreateWindowEx() Functions esa Pass fd;k tkus okyk hInstance Parameter ogh gksuk pkfg, tks ge RegisterClass() Function esa nsrs gSaA ge ,d Class dks Dynamic Link Library esa Create dj ldrs gSa vkSj ml DLL Class dk uke Windows OS dh Registry esa fuEukuqlkj Keys ds iz;ksx }kjk Register djok dj mls Global Class cuk ldrs gSaA
  • 36. 35 www.BccFalna.com Windows Programming in C HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NT CurrentVersionWindowsAPPINIT_DLLS ,slk djus ij tc Hkh Process pkyw gksrk gS] lcls igys Operating System bl DLL File dks Start fd, x, u, Process esa Load dj nsrk gSA mlds ckn main() Function Load gksrk gSA • NewWindow.style = CS_DROPSHADOW ;s Style fdlh Window ij Shadow dk Effect nsrk gSA ;s Effect dsoy Windows XP esa gh fn[kkbZ nsrk gSA • NewWindow.style = CS_HREDRAW ;fn Create fd, x, Window dks Horizontally Resize fd;k tkrk gS] rks ;s Style iwjs Window dks Repaint ;k Redraw djrk gSA tc dHkh ge Window ds fcYdqy e/; esa fdlh eku dks Display djuk pkgrsa gSa] rks bl Style dks Set djus ij ;fn ge Window dks Horizontally Resize djrs gSa] rc Hkh Display gksus okyk eku Window ds fcYdqy e/; esa gh fn[kkbZ nsrk gSA ;fn ge bl Style dks Set uk djsa] rks Window dks Resize djus ij Window okil Draw ugha gksxk vkSj Changes Refresh ugha gksaxsA • NewWindow.style = CS_NOCLOSE bl Style dks Set djus ij Window ij Close Button Disable gks tkrk gSA • NewWindow.style = CS_OWNDC bl Style dks Use djus ij Class ds gj Window dks ,d vyx Device Context feyrk gSA OWNDC o CLASSDC nksuksa Styles dks ge ,d lkFk Use ugha dj ldrs gSaA • NewWindow.style = CS_PARENTDC bl Style esa Child Window Parent Window ds Device Context esa Inherit gksrk gS ;kuh Child Window Parent Window ds Device Context esa Draw gksrk gSA Child Window Parent Window ds Device Context dks Use ugha djrk gSA • NewWindow.style = CS_SAVEBITS fdlh vU; Window }kjk tc fdlh Window dk dqN fgLlk <d tkrk gS] rc Windows OS ml <ds gq, fgLls dks Bitmap ds :i esa Save djds System dh Memory esa j[k ysrk gS vkSj tc nwljk Window igys Window ls gVk;k tkrk gS rc Window bl Save fd, gq, fgLls dks Window dks fcuk Redraw fd, okil fn[kk nsrk gSA bl Style dk iz;ksx NksVs Window o Dialog Box ds fy, Bhd jgrk gS
  • 37. 36 www.BccFalna.com Windows Programming in C D;ksafd bl Style dks Extra Memory dh t:jr gksrh gS ftlesa Bitmap Save gksrk gSA • NewWindow.style = CS_VREDRAW ;fn Window dks Vertically Resize fd;k tk,] rks ;s option Windows OS dks dgrk gS fd og Window dks Redraw djus dk Message Application dks ns rkfd Window fQj ls Refresh rjhds ls Draw gks ldsA lk/kkj.kr;k ge fdlh Application esa CS_HREDRAW o CS_VREDRAW nksuksa Style Options dks Use djrs gSaA Application dh Requirement ds vuqlkj ge vkSj Hkh Styles dks Add dj ldrs gSaA bl rjg ge Create gksus okys gekjs NewWindow dks fuEukuqlkj ,d ls vf/kd Style Hkh iznku dj ldrs gSaA Style ns ldrs gSa% NewWindow.style = CS_VREDRAW | CS_HREDRAW; 3. WNDPROC lpfnWndProc; bl Member Variable esa Application ds main Window ds Window Procedure dk Address gksrk gSA bl Member dks Initialize djds ge Windows OS dks ;s crkrs gSa fd og Window Procedure Memory esa dgka gS] ftlesa Windows }kjk Application dks Hksts tkus okys fofHkUu Messages gksrs gSa vkSj Window Procedure mUgs Process djrk gSA Window Procedure ,d Application Callback Defined Function gksrk gS tks fd Windows }kjk vkus okys fofHkUu izdkj ds Messages dks Process djrk gSA Windows tks Hkh Messages Application dks Hkstrk gS os lHkh Messages blh Function }kjk Process gksrs gSaA Window Procedure dk Prototype fuEukuqlkj gksrk gS & LRESULT CALLBACK WindowProc ( HWND hwnd, // handle of window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); ;gka LRESULT vkSj CALLBACK ,d typedef gSa ;kuh typedef long int LRESULT
  • 38. 37 www.BccFalna.com Windows Programming in C typedef _stdcall CALLBACK ;s ,d GUI Programming esa Functions dks Call djus dk ,d Standard rjhdk gSA bls lkekU;r;k lHkh Functions ds lkFk Use fd;k tk ldrk gSA hwnd ,d Handle gS ftlds eku }kjk Windows OS fdlh Window dh igpku djrk gSA uMsg esa Windows OS }kjk Hksts tkus okys Messages gksrs gSaA WPARAM o LPARAM esa Messages dh vU; t:jh Information gksrh gSaA ;s Function Return Value ds :i esa ,d Long Int eku Return djrk gS tks fd Messages Processing dk ifj.kke ;k RESULT crkrk gSA ;s eku Hksts x, Messages ij fuHkZj djrk gSA Window Procedure dks ge foLrkj ls vkxs le>saxs ysfdu ;gka ge gekjs Create gksus okys Window dk fuEukuqlkj Window Class dks iznku dj ldrs gSa % NewWindow. lpfnWndProc = MyWindowProcedure; 4. int cbClsExtra; bl Member esa ge tks eku Initialize djrs gSa] main Program Window Class Structure ds Variable dks Memory esa txg nsus ds Just ckn mrus gh Bytes dh txg vkSj Allocate ;k Reserve dj nsrk gSA ;s Allocated Memory gesa ;s lqfo/kk nsrk gS fd ge gekjh Window Class ls lEcaf/kr tks Applications ds Lrj dh tkudkfj;ka gksrh gSa] mUgsa bl Allocated memory esa txg fey tkrh gSA /;ku nsa fd ;fn ge leku Window Class ds ,d ls vf/kd Windows Create djrs gSa] rks os lHkh Windows Memory esa leku Storage Space dks Share djrs gSaA Windows OS bl Extra Storage dks Zero ls Initialize dj nsrk gSA T;knkrj Applications dks muds Main Windows ls lEcaf/kr Extra Space dh t:jr ugha gksrh gS blfy, Windows OS Lo;a gh blesa 0 Initialize dj nsrk gSA fQj Hkh ;fn gesa Extra Space dh t:jr uk gks rks gesa blesa 0 Initialize djuk pkfg,A vHkh ge ;s eku dj pyrs gSa fd gesa Extra Space dh t:jr ugha gS vkSj ge fuEukuqlkj bl Member dks 0 ;k NULL Assign dj ldrs gSa % NewWindow.cbClsExtra = NULL ; ;k NewWindow.cbClsExtra = 0 ;
  • 39. 38 www.BccFalna.com Windows Programming in C 5. int cbWndExtra; bl Member esa ge ftruk eku Initialize djrs gSa] Windows OS Create gksus okys lHkh Window ds fy, ml eku ds cjkcj Memory Allocate dj nsrk gSA ge ,d gh Window Class ds fturs pkgsa mrus Instance ;k Variable Create dj ldrs gSa ;kuh Window cuk ldrs gSaA gkykafd ge Main Window gj Application esa dsoy ,d gh cukrs gSa ysfdu PushButten, Text Boxes tSls Controls ge ,d ls vf/kd cukrs gSaA ;s Extra Storage bu veqd Controls ds Data dks Hold djds j[krk gSA tSls fdlh Text Box esa fLFkr Text blh Extra Storage Space esa jgrk gSA Windows bl Storage Space dks Window Class ds Variable dks Memory esa Space nsus ds Just ckn bl Member ds fy, Storage Reserve djrk gS ;k bl Member dks Memory Allocate djrk gSA blesa Hkh Windows OS Lo;a gh 0 Initialize dj nsrk gSA vHkh ge ;s eku dj pyrs gSa fd gesa Extra Space dh t:jr ugha gS vkSj ge fuEukuqlkj bl Member dks 0 ;k NULL Assign dj ldrs gSa % NewWindow.cbWndExtra = NULL ; ;k NewWindow.cbWndExtra = 0 ; HANDLE hInstance; bl Member Variable esa Create gksus okys gj Window dk ,d Handle gksrk gS] ftlls Windows OS fdlh Specific Window dks igpku ikrk gSA gekjk Program bl eku dks Windows ls ,d API Functions dks Call djds izkIr djrk gS vkSj Window Structure ds hInstance Member Variable dks Initialize dj nsrk gSA ;kuh tc gekjk Program Start gksrk gS rc Windows OS gekjs Application dks ,d Instance Handle Number Hkstrk gSA gekjk Application bl Handle dks hInstance Member Variable esa Initialize dj nsrk gSA gekjs NewWindow dk Handle Initialize djus ds fy, ge fuEukuqlkj Statement fy[k ldrs gSa % NewWindow.hInstance = hInstance; 6. Instance ftl rjg ls ge int izdkj ds dbZ Variable Create dj ldrs gSa mlh rjg ls ge fdlh Structure izdkj ds Hkh dbZ Variables Declare dj ldrs gSaA tc ge fdlh Structure
  • 40. 39 www.BccFalna.com Windows Programming in C izdkj dk dksbZ Variable Declare djrs gSa] rks GUI Programming esa ml Variable dks ml Structure dk Instance dgrs gSaA bls Variable dk nwljk uke Hkh dg ldrs gSaA tSls ekuk dksbZ Structure Student gSA ge Structure Student izdkj ds dbZ Variables Create dj ldrs gSaA tSls & Student Raju; Student Amit; ;s lHkh Structure Student izdkj ds Variables gSaA nwljs “kCnksa esa ge bUgh Students dks Structure Student dk Instance Hkh dg ldrs gSaA ;kuh Amit Student Structure dk ,d Instance gS mlh rjg Raju Hkh Structure Student dk ,d Instance gSA 7. HICON hIcon; bl Member Variable esa Windows OS ds fdlh ,d Icon Resource dk Handle gksrk gSA ftl Icon dk Handle Number bl Member Variable esa gksrk gS] og Icon Task Bar esa rc Display gksrk gS tc ge gekjs Program ds Window dks Minimize djrs gSaA ;gh Icon gekjs Application Program ds Title Bar ds fcYdqy Left esa Display gksrk gSA ge u, Icon cuk Hkh ldrs gSa vkSj Windows ds vUnj tks fofHkUu izdkj ds Icons dk Stock gS] mlesa ls Hkh fdlh Icon dks vius Program esa ys ldrs gSaA Windows OS esa fLFkr fofHkUu Icons esa ls gesa ;fn vius Program esa fdlh Icon dh t:jr gks rks ge LoadIcon API Function dk iz;ksx djds ;s dke dj ldrs gSaA bl Function esa gesa dqN Parameters Hkh nsus gksrs gSaA ;fn bls NULL Initialize fd;k tk, rks Windows OS bls Default Icon Provide djrk gSA gekjs u, Window ds fy, ;gka ge bl Icon dks NULL Initialize djsaxsA ;kuh % NewWindow.hIcon = NULL ; OR NewWindow.hIcon = 0 ; 8. HCURSOR hCursor; bl Member Variable esa Windows OS ds fdlh ,d Cursor Resource dk Handle gksrk gSA bl Cursor dks Windows rc Draw djrk gS tc User Cursor dks Application Window ds mij Move djrk gSA bl Member esa Hkh ,d Valid Handle gksuk pkfg, tks fd Windows OS gesa nsrk gSA ge Windows OS ds Cursor Stock dk iz;ksx dj ldrs gSaA bl dke ds fy, gesa Windows OS ds ,d API Function dks Call djuk iMrk gSA fo”ks’k:i ls ge Windows OS ls ,d Arrow Cursor ds Handle dh ekax djrs gSa ftlls ge gekjs Application Form ds lkFk Interaction dj ldsaA bl dke ds fy, ge
  • 41. 40 www.BccFalna.com Windows Programming in C LoadCursor Functions dk iz;ksx djrs gSaA ;fn bls NULL Initialize fd;k tk, rks Windows OS gekjs Application dks Default Cursor Provide djrk gSA gekjs u, Window ds fy, ;gka ge bl Cursor dks NULL Initialize djsaxsA ;kuh % NewWindow.hCursor = NULL ; OR NewWindow.hCursor = 0 ; 9. HBRUSH hbrBackground; ;s Member Variable ml “Brush” dks Specify djrk gS ftldk iz;ksx Windows OS gekjs Application Windows ds Background dks Paint djus ds fy, Use djrk gSA lk/kkj.kr;k ;s ,d Color vkSj Pattern gksrk gS ftls Windows OS gekjs Application ds Background esa Use djrk gSA ge fuEu esa ls fdlh Hkh ,d Color Constant dks Use djds vius Program ds Background dks Fill djok ldrs gSaA ge viuh bPNkuqlkj Hkh u, Color Scheme o Patterns cuk ldrs gSaA ;s Color Constants fuEukuqlkj gSa% 1 COLOR_ACTIVEBORDER 2 COLOR_ACTIVECAPTION 3 COLOR_APPWORKSPACE 4 COLOR_BACKGROUND 5 COLOR_BTNFACE 6 COLOR_BTNSHADOW 7 COLOR_BTNTEXT 8 COLOR_CAPTIONTEXT 9 COLOR_GRAYTEXT 10 COLOR_HIGHLIGHT 11 COLOR_HIGHLIGHTTEXT 12 COLOR_INACTIVEBORDER 13 COLOR_INACTIVECAPTION 14 COLOR_MENU 15 COLOR_MENUTEXT 16 COLOR_SCROLLBAR 17 COLOR_WINDOW 18 COLOR_WINDOWFRAME 19 COLOR_WINDOWTEXT
  • 42. 41 www.BccFalna.com Windows Programming in C ge gekjs Window ds Background ds fy, fuEukuqlkj COLOR_WINDOW Constant dks Use djsaxsA blls gekjs Window dk Background White Color dk Display gksxkA ;kuh % NewWindow.hbrBackground = (HBRUSH)(COLOR_WINDOW+1) ;gka geus dks’Bd esa HBRUSH blfy, fy[kk gS D;ksafd Constant eku ,d Integer gS tcfd HBRUSH ,d Structure gSA Compiler fdlh Integer Constant dks fdlh Structure izdkj esa Convert ugha dj ldrkA blfy, bldh Type Casting djuk t:jh gSA 9. LPCTSTR lpszMenuName; ;fn ge gekjs Application esa Menu dks iz;ksx djuk ugha pkgrs gSa rks ge bl Member Variable dks NULL Initialize dj ldrs gSaA bl Member Variable esa ,d String dk Address gksrk gS tks fd fdlh Class Menu ds Resource dks Specify djrk gSA ge gekjs Window ds fy, fQygky bls fuEukuqlkj NULL Initialize djsaxs D;ksafd vHkh gesa gekjs Window esa Menu dh t:jr ugha gSA NewWindow.lpszMenuName = NULL ; 10. LPCTSTR lpszClassName; ;s Member Hkh ,d Null ls Terminated String dks Point djrk gS tks fd gekjs Create gks jgs Window ds Class Name dks Specify djrk gSA ;fn ge gekjs Window Class dk uke MyWindowClass j[kuk pkgsa rks bls fuEukuqlkj Initialize dj ldrs gSa % NewWindow.lpszClassName = “MyWindowClass” 11. HICON hIconSm; bl Member esa fdlh Small Icon dk ,d Handle gksrk gS tks fd Window Class ls lEcaf/kr gksrk gSA ;fn bl Member esa NULL gks rks System Lo;a gh ml Resource dks [kkstrk gS tks fd hIcon Member Function ls Specify gksrk gSA bls ge fuEukuqlkj NULL Initialize dj ldrs gSa % NewWindow.hIconSm = NULL ;
  • 43. 42 www.BccFalna.com Windows Programming in C Window Class ds Variable o Window Class ds lHkh Initialize fd, x, Members dks ge fuEukuqlkj ,d LFkku ij ns[k ldrs gSa % WNDCLASSEX NewWindow; NewWindow.cbSize = sizeof(WNDCLASSEX); NewWindow.style = CS_VREDRAW | CS_HREDRAW; NewWindow. lpfnWndProc = MyWindowProcedure; NewWindow.cbClsExtra = NULL ; NewWindow.cbWndExtra = NULL ; NewWindow.hInstance = hInstance; NewWindow.hIcon = NULL ; NewWindow.hCursor = NULL ; NewWindow.lpszMenuName = NULL ; NewWindow.lpszClassName = “MyWindowClass” NewWindow.hIconSm = NULL ; Window Class Structure ds lHkh Members dks Initialize djus ds ckn gesa Window Class dks Windows OS ls Register djokuk gksrk gSA bl dke ds fy, ge RegisterClassEx() API Function dks Call djrs gSa vkSj Windows Class ds Object NewWindow dks bl Function esa Parameter ds :i esa Pass djrs gSaA RegisterClassEx() Functions dk Prototype fuEukuqlkj gksrk gS % ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx ); bl Function dks Create fd, tk jgs Window Class ds Address dh t:jr gksrh gS D;ksafd *lpwcw ,d Pointer gSA ;kuh *lpwcw WNDCLASSEX Structure dk ,d Pointer gSA bl Functions esa Window Class Structure dks Argument ds :i esa Pass djus ls igys gesa Window Class dks iwjh rjg ls Initialize djuk gksrk gSA ;fn ;s Functions Successful gksrk gS ;kuh gekjk Window Class Structure Operating System Windows esa Register gks tkrk gS] rks ;s Functions ,d 16-Bit Integer Return djrk gS ftls ATOM dgrs gSaA blh Unique ATOM }kjk ge Registered gksus okyh Class dks Identify dj ldrs gSaA bl ATOM dk iz;ksx dsoy CreateWindow(), CreateWindowEx(), GetClassInfo(), GetClassInfoEx(), FindWindow(), FindWindowEx() o UnregisterClass() Functions ds lkFk gh fd;k tk ldrk gSA
  • 44. 43 www.BccFalna.com Windows Programming in C ;fn ;s Functions Fail gks tkrk gS ;kuh Window Class Structure dks Register ugha djok ikrk] rks ;s Functions ,d Non-Zero eku Return djrk gSA ge gekjs NewWindow Variable dks fuEukuqlkj bl Function esa Hkst dj OS Windows ls Register djokrs gSa % RegisterClassEx(&NewWindow); What is a ‘Window Class’? tSlkfd geus igys crk;k fd Window Class dsoy ,d rjhdk gSA bl Window dk fdlh izdkj dk dksbZ lEca/k OOP System dh Class ls ugha gSA fdlh Hkh vU; High Level Language tSls fd C++ o Java vkfn esa Class ,d User Data Type gksrk gS] ftls User viuh vko”;drk ds vuqlkj cukrk gSA ,d lk/kkj.k lk fu;e gS fd tc ge bl izdkj dh fdlh Hkk’kk esa Class Create djrs gSa] rks og Class Memory esa rc rd fdlh izdkj dk dksbZ Memory Space Reserve ugha djrk tc rd fd ge ml Class izdkj ds Variables ;k Instances Create uk djsaA Class okLro esa dsoy ,d Layout ;k Specification gksrk gS tks ;s r; djrk gS fd dksbZ Object fdl izdkj dk gS vkSj fdl izdkj ls dke djrk gS rFkk Memory esa fdl izdkj ls Store gksrk gSA bls ge ,d rjg dk <kapk ;k Blueprint Hkh dg ldrs gSaA tSls ;fn ge fdlh Student dk Record j[kuk pkgsa rks ge mldh dqN [kkl ckrksa dks Heading ds :i esa j[k dj ,d Table cuk ldrs gSaA fuEu Table dks nsf[k, & Name Father Name Class City Contact No. Rajendra Mahendra 10 Falna 3366334466 Mohan Rohan 10 Bali 2222222222 bl Table esa ge ns[k ldrs gSa fd geus fdlh Student dh dqN fo”ks’krkvksa dks ,d Heading ds :i esa ys fy;k gS vkSj vc ge ftrus pkgsa mrus Students dh mu fo”ks’krkvksa dks bl Table esa Record ds :i esa Store djds j[k ldrs gSaA blh rjg ls High Level Languages dh Class dsoy fdlh Object dh Specifications ek= gksrh gSaA blfy, tc rd ge ml Class ds Instance Create ugha djrs] Class Memory esa dksbZ Space Reserve ugha djrk gSA bl Class dh rqyuk esa Window Class dks gesa Memory Allocate djuk gksrk gSA Window Class ds fofHkUu Members dks Initialize djds ge Window Class dks Memory Allocate djrs gSaA
  • 45. 44 www.BccFalna.com Windows Programming in C OOPS ds Class o Window Class nksuksa ds chp dk lcls cMk vUrj budh Storage dk gh gS] ftlls ge ;s le> ldrs gSa fd nksuksa Classes esa vUrj gSA tc Microsoft Company ds Engineers us bl Class Term dk iz;ksx fd;k Fkk] rc rd rks OOP o blls lEcaf/kr Class dk vfLrRo Hkh ugha FkkA ml le; Objects o mldh Class ds ckjs esa dksbZ dqN tkurk gh ugha FkkA blfy,] Window Class okLro esa ,d Template gS tks Memory esa ,d Common Structure cukrk gS vkSj bl Structure dk Duplication dj&djds ge Window dh dbZ Copy cukrs gSaA bl Window Class dh lcls vPNh ckr ;s gS fd gesa bls dsoy ,d gh ckj Initialize djuk gksrk gSA mlds ckn gesa bl Class ds ftrus Window dh t:jr gksrh gS] ge mlh Structure ls mrus Window dh Copies dks izkIr dj ysrs gSaA vki lksap ldrs gSa fd gesa fdlh Window dh ,d ls vf/kd Copies dh t:jr D;ksa gks ldrh gSA vkf[kj] fdruh ckj fdlh Application dks Application Window dh ,d ls vf/kd Copies dh t:jr iM ldrh gSA ;s ,d ls vf/kd Copies curh dSls gSa vkSj bu cuh gqbZ Window dh Classes dks Initialize djus dk dke dkSu djrk gS tc gekjs Application ds Main Window dh gh gekjs Application dks t:jr gksrh gS] rc gesa bl Window Class dh cgqr gh de t:jr jg tkrh gSA fQj Hkh] ,d Typical Windows GUI Application esa dkQh vf/kd la[;k esa Window dh t:jr gksrh gSA ,slk blfy, gksrk gS D;kssafd Microsoft Windows Hierarchical Windows Structure dks Support djrk gSA ;kuh ,d cMs (Parent) Window esa ,d NksVk (Childe) Window gks ldrk gSA fofHkUu izdkj ds User Interface Controls tSls fd Buttons, Text Boxes, List Boxes vkfn blds mnkgj.k gSaA ;s Lo;a Window gSa ysfdu ;s Child Window gSa vkSj ;s ftl Main Window ;k Form esa jgrs gSa] og Parent Window gSaA bu lHkh Windows dh viuh Lo;a dh Window Class gSA gkykafd ,d Application esa ,d gh Main Window gksrk gS ysfdu ml ij dbZ&dbZ vkSj vyx&vyx izdkj ds Buttons gks ldrs gSaA gj Button Lo;a ,d Window gS vkSj og Button ftl txg ij gS og Hkh ,d Window gSA fQj Hkh fdlh Application esa fLFkr] ,d gh izdkj ds ftrus Hkh Buttons gksrs gSa os lHkh leku Window Class dks Share djrs gSaA bldk eryc fd ;fn gesa u;k Button cukuk gks rks gesa Button Window Class dk ,d u;k Window Create djuk gksxkA gekjk Application ftu Buttons dks Use dj jgk gS] mlesa ;fn Create gksus okys lHkh Buttons leku Attribute dks Share djrs gksa] rks gesa gj u, Button ds fy, Window Class Structure dks Initialize djus dh dksbZ t:jr ugha gksrh gSA
  • 46. 45 www.BccFalna.com Windows Programming in C Window Classes dh nwljh lcls vPNh ckr ;s gS fd Microsoft dbZ Common Window Classes dks Pre-Initialize dj nsrk gSA mnkgj.k ds fy, Common User Interface Controls dks tSls Buttons, Lists, Text Boxes vkfn dksA blfy, gesa bl izdkj ds Object ds fy, Window Class dks Initialize djus dh t:jr ugha gksrh gSA ;fn gesa gekjs Application esa u, Button dh t:jr gS] rks ge “Button” Window Class dks Specify djrs gq, u;k Window Create dj ldrs gSaA pwafd Windows OS us igys ls gh Button ds Window Class dks Register dj j[kk gksrk gS] blfy, gesa Button Class dks Register djokus dh t:jr ugha gksrh gSA Creating and Displaying a Windows fdlh Window dks OS ls Register djokus ds ckn gesa Window Create djuk o Screen ij mls Display djuk gksrk gSA Window dks Register djokus dk eryc dsoy bruk gksrk gS fd ge tks Window Create djuk pkgrs gSa mldk Template ;k Blue Print dSlk gksxk ftlds vk/kkj ij ge dbZ Windows Create dj ldsaxsA Window dks Register djokus ds ckn gesa ,d API Function CreateWindowEx() dks Call djds gekjs Window dks Create djuk gksrk gSA tc ge bl API }kjk Window Create djrs gSa rc Hkh og Window Screen ij Display ugha gksrkA ;s Function Window dks Memory esa Create djrk gSA CreateWindowEx() Functions dk Prototype fuEukuqlkj gksrk gS& HWND CreateWindowEx ( DWORD dwExStyle, // extended window style LPCTSTR lpClassName, // pointer to registered class name LPCTSTR lpWindowName, // pointer to window name DWORD dwStyle, // window style Int x, // horizontal position of window int y, // vertical position of window int nWidth, // window width int nHeight, // window height HWND hWndParent, // handle to parent or owner window HMENU hMenu, // handle to menu or child-window identifier HINSTANCE hInstance, // handle to application instance LPVOID lpParam // pointer to window-creation data );
  • 47. 46 www.BccFalna.com Windows Programming in C bl API Functions esa gesa Window ls lEcaf/kr dbZ t:jh ckrsa Argument ds :i esa nsus gksrs gSa] ftlds vk/kkj ij ;s Functions Window Create djrk gSA blds fofHkUu Arguments fuEukuqlkj gSa % 1. DWORD dwExStyle bl Argument esa gesa fdlh Hkh Window dh Extended Style nsuh gksrh gSA ge pkgsa rks bldk eku 0 Hkh ns ldrs gSa vkSj pkgsa rks fuEu esa ls fdlh Constant dk iz;ksx Hkh dj ldrs gSaA bl Parameter esa fuEu esa ls dksbZ Hkh Constant eku gks ldrk gS % • WS_EX_ACCEPTFILES ;s Argument crkrk gS fd Create gksus okyk Window Drag and Drop Files dks Accept djsxkA • WS_EX_APPWINDOW ;s Argument nsus ij Top Level dk tks Window gksrk gS og Window ds Minimize gksus ij Task Bar esa pyk tkrk gSA • WS_EX_CLIENTEDGE ;s Argument crkrk gS fd Window ds pkjksa vksj ,d Border gSA • WS_EX_CONTEXTHELP ;s Argument Window ds Title Bar esa ,d iz”uokpd fpUg Display djrk gSA ;s Online Help nsrk gSA • WS_EX_CONTROLPARENT ;s eku gesa ;s lqfo/kk nsrk gS fd ge Tab Key dk iz;ksx djds Parent Window ds Child Window esa Navigate dj ldrs gSaA • WS_EX_DLGMODALFRAME ;s eku ,d ,slk Window Create djrk gS ftlds Double Border gksrh gSA • WS_EX_LEFT ;s ,d Default Property gS ftlesa Window Left Aligned gksrk gSA • WS_EX_LEFTSCROLLBAR
  • 48. 47 www.BccFalna.com Windows Programming in C ;fn Shell Language Hebrew ;k Arabic ;k dksbZ ,slh Hkk’kk gks tks Reading Order Alignment dks Support djrk gks] vkSj ;fn Window esa Vertical Scroll Bar gks rks og Bar Left esa Align gks tkrh gSA vU; Hkk’kkvksa ds fy, ;s eku Ignore gks tkrk gSA • WS_EX_LTRREADING ;s ,d Default eku gS ftlesa Window Texts Left To Right Reading Order esa Display gksrs gSaA • WS_EX_MDICHILD ;s eku ,d MDI Child Window Create djrk gSA • WS_EX_NOPARENTNOTIFY ;fn ge bl eku dks Specify djrs gSa rks Child Window Create ;k Destroy gksus ij Child Window vius Parent Window dks WM_PARENTNOTIFY Message ugha Hkstrk gSA • WS_EX_PALWRREWINDOW bl Constant dks Use djus ij WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW o WS_EX_TOPMOST Styles dks Combine Style gesa izkIr gksrh gSA • WS_EX_RIGHT bl Style dk Effect Hkh WS_EX_LEFTSCROLLBAR Style ds leku gh gSA • WS_EX_RIGHTSCROLLBAR bl Style ls ;fn Vertical Scroll Bar gks rks og Window ds Client Area ds Right Side esa vk tkrk gSA • WS_EX_RTLREDING bl Style dk Effect Hkh WS_EX_LEFTSCROLLBAR ds leku gh gS ysfdu blesa Window Text Right To Left Order esa fn[kkbZ nsrs gSaA • WS_EX_STATICEDGE bl Constant ls ,d 3-D Border Style dk Window Create gksrk gSA bldk iz;ksx mu Objects ds lkFk fd;k tkrk gS tks User Input Accept ugha djrsA • WS_EX_TOOLWINDOW ;s Constant ,d Tool Window Create djrk gSA ,d Tool Window dk Title Bar Normal Title Bar ls FkksMk NksVk gksrk gS vkSj Window dk Title Hkh FkksMs NksVs Fonts
  • 49. 48 www.BccFalna.com Windows Programming in C esa fy[ks gksrs gSaA ,d Tool Window Task Bar esa ;k ml Dialog esa fn[kkbZ ugha nsrk gS tks ALT+TAB dks Press djus ij Display gksrk gSA • WS_EX_TOPMOST ;s eku nsus ij Create gksus okyk Window vU; lHkh Non-Topmost Windows ds mij Display gksrk gS vkSj gesa”kk mij gh jgrk gS pkgs bl Window dks Deactivate gh D;ksa uk dj fn;k tk,A bl Style dks Add ;k Remove djus ds fy, gesa SetWindowPos API Function dks Use djuk gksrk gSA • WS_EX_TRANSPARENT bl Style ls Create fd;k x;k Window Transparent gksrk gSA ;kuh Create gksus okys Window ds uhps tks Hkh Window gksxk og gekjs Window esa Display gksrk jgsxkA bl Style ds Window dks WM_PAINT Message dsoy rHkh izkIr gksrk gS tc blds uhps fLFkr lHkh Windows Update gksrs gSaA • WS_EX_WINDOWEDGE ;s Constant Specify djrk gS fd Create gksus okyk Window Border o Raised Edge ds lkFk Create gksxkA WS_EX_RIGHT Style dks fdlh Static ;k Edit Control ds lkFk Use djus dk Effect ogh vkrk gS tks Øe ls SS_RIGHT ;k ES_RIGHT Style dks Use djus ij vkrk gSA ;fn bl Style dks Button Control ds lkFk Use fd;k tk, rks BS_RIGHT o BS_RIGHTBUTTON Styles dk tks Effect gksrk gS ogh gesa WS_EX_RIGHT Style ds lkFk Hkh izkIr gksrk gSA 2. lpClassName ge ftl Window Class dks vk/kkj cuk dj Window Create dj jgs gSa] ml Window Class dk uke bl Argument esa nsuk gksrk gSA lk/kkj.kr;k ;s ,d String gksrk gSA blh uke dks ge ml Class ds uke ds :i esa RegisterWindowEx() Functions dks Argument ds :i esa nsrs gSa] ftls Register djokuk gksrk gSA dqN igys ls cuh gqbZ Window Classes ftudks Windows Define djrk gSA ge bl Argument esa ,d Atom Hkh Supply dj ldrs gSaA ,d 16 Bit Integer Number dks Atom dgk tkrk gS tks fd igys ls cuh gqbZ fdlh Window Class dks Specify djrk gSA tSls fd Cursor o Icons Windows esa igys ls gh Store gksrs gSaA bUgsa Argument ds :i esa Hkstus ds fy, gesa ,d Atom dk iz;ksx djuk gksxkA
  • 50. 49 www.BccFalna.com Windows Programming in C Windows Atom o String nksuksa esa vUrj dks lpClassName Argument ds High Order 16 Bits dks Check djds djrk gSA ;fn lpClassName Argument ds High Order 16 Bit ;k H. O. Word dk eku 0 gks rks Window le>rk gS fd blesa fdlh Atom dk eku gS vkSj ;fn lpClassName Argument ds H.O. Word dk eku 0 uk gks rks Windows tku tkrk gS fd bl Argument esa fdlh String Object dk Address Stored gSA Windows esa fdlh Hkh Pointer ds H.O. Word dk eku gesa”kk Non-Zero gksrk gSaA rduhdh :i ls lpClassName Parameter fdlh Zero-Terminated String dks Point djrk gSA fQj Hkh dqN Windows Predefined Constant Values gSa ftUgsa ge Atom ds :i esa bl Argument esa Pass dj ldrs gSaA • BUTTON ;s ,d NksVklk vk;rkdkj Window gksrk gSA ftl ij ge tc Click djrs gSa rks ;s fdlh Push Button dh rjg dke djrk gSA • COMBOBOX bl Box esa ,d List Box gksrk vkSj ,d Text Edit Box gksrk gSA bu nksuksa dks Combine djds ,d Single Unit ds :i esa Create dj fn;k x;k gSA • EDIT ;s ,d ,slk Rectangular Control gksrk gS ftlesa User Input djrk gSA • LISTBOX ;s Control Character Strings dh ,d List Specify djrk gSA User bl List esa ls fdlh Hkh String dks Select dj ldrk gSA • MDICLIENT ;s fdlh MDI (Multiple Document Interface) ds Client Window dks Refer djrk gSA ;s Windows OS dks Window ls Associated Window Procedure dks MDI Messages Send djus ds fy, dgrk gSA • RichEdit ;s Object Rich Edit 1.0 Control dks Specify djrk gSA ;s ,d Rectangular Window iznku djrk gS tks Text Entry vkSj Text dh Formatting dks Support djrk gS vkSj blesa COM Objects Hkh j[k ldrs gSaA • RICHEDIT_CLASS
  • 51. 50 www.BccFalna.com Windows Programming in C ;s Rich Edit 2.0 Control dks Specify djrk gSA • SCROLLBAR ;s ,d Rectangular Window dks Specify djrk gS tks fd ,d Scroll Bar gksrk gSA blds nksuksa rjQ ,d Arrow gksrk gS ftlls ge nksuksa fn”kkvksa esa Scroll dj ldrs gSaA • STATIC bls ftl Object ds lkFk Use fd;k tkrk gS ml Object esa ge fdlh rjg dk dksbZ ifjorZu ugha dj ldrs gSaA fdlh Application ds Main Window ds lEca/k esa ge lkekU;r;k bu esa ls fdlh Atom dk iz;ksx ugha djrs gSa cfYd ;gka ml Class dk uke fy[krs gSa] ftlds vk/kkj ij ge viuk Main Window Create dj jgs gSaA 3. LPCTSTR lpWindowName CreateWindowEx() Function dk rhljs Parameter lpWindowName ,d String dks Hold djrk gS tks fd Create gks jgs Window dk uke gksrk gSA ;s ,d Caption gksrk gS] tks Window ds Title ds :i esa fn[kkbZ nsrk gSA ;fn ,d gh le; esa ,d gh Window Class ds ,d ls vf/kd Instance ;kuh Window Screen ij Display gks jgs gksa rks gesa gj Window dks Unique Title nsuk pkfg, D;ksafd dqN Applications bl Caption ls gh vyx&vyx Window dh igpku djrs gSaA lk/kkj.kr;k Window dk uke o Window dh Class dk uke leku gh gksrk gS ysfdu fcYdqy leku ugha gksrkA Class dk uke ,d Program Identifier gksrk gS ftls Variable Declaration ds fu;eksa ds vuqlkj gh j[kk tkrk gSA ;kuh blesa Special Symbols, Blank Space vkfn dk iz;ksx ugha dj ldrsA ysfdu Window ds uke ;kuh “Caption” dks bl rjg dk j[k ldrs gSa tks User dks vPNk yxsA 4. LPCTSTR dwStyle CreateWindowEx() Function dk pkSFkk Parameter dwStyle Create gksus okys Window ds fy, ,d Styles ds Set dks Specify djrk gSA dwExStyle Parameter dh rjg ;s ,d Bitmap Object gS ftlesa dqN Boolean ekuksa dk ,d lewg gksrk gSA ;s lewg fdlh Window ds fdUgh Attributes ds Presence ;k Absence dks Specify djrk gSA bUgsa Logical “OR” Operator dk iz;ksx djds Combine fd;k tk ldrk gS vkSj dbZ Attributes dks ,d lkFk Window ij Apply fd;k tk ldrk gSA gkykafd ge Main
  • 52. 51 www.BccFalna.com Windows Programming in C Window ij dsoy ,d gh Attribute Apply djrs gSaA dqN Styles fuEukuqlkj gSa ftUgsa ge Create gks jgs Window ij Apply dj ldrs gSaA • WS_BORDER Create gksus Window ds pkjksa vksj ,d iryh Border cuk nsrk gSA • WS_CAPTION ,d Window Create djrk gS ftldk ,d Title gksrk gSA lkFk gh ;s WS_BORDER Attribute dks Hkh Set djrk gSA • WS_CHILD ,d Child Window Create djrk gSA ;g Style WS_POPUP Style ds lkFk Use ugha gks ldrk lkFk gh bl izdkj ds Window esa Menu Bar ugha gks ldrkA • WS_CHILDWINDOW ;g Attribute Hkh ,d Child Window Create djrk gSA ;g Style WS_POPUP Style ds lkFk Use ugha gks ldrk lkFk gh bl izdkj ds Window esa Menu Bar ugha gks ldrkA • WS_CLIPCHILDREN ;s Attribute rc dke djrk gS tc ge Parent Window Create djrs gSaA • WS_CLIPSIBILINGS tc ge ,d ls vf/kd Child Window Create djrs gSa] rc ge bl Attribute dks Specify djrs gSaA ;s Attribute ,d Window dks nwljs Window ij Over Lap djrk gSA • WS_DISABLE ;s Attribute ,d ,slk Window Create djrk gS tks Initially Disable gksrk gSA ,d Disable fd;k gqvk Window fdlh izdkj dk dksbZ User Input Receive ugha djrk gSA bl Attribute dks Change djus ds fy, Window Create djus ds ckn EnableWindow() Functions dks Use fd;k tkrk gSA • WS_DLGFRAME bl Attribute dk iz;ksx djus ij ,d ,slk Window Create gksrk gS ftlds Title Bar ugha gksrkA lkekU;r;k ;s ,d Dialog Box Window dh rjg dk Window Create djrk gSA • WS_GROUP
  • 53. 52 www.BccFalna.com Windows Programming in C ;s Attribute fdlh Hkh Controls ds Group esa fLFkr izFke Control dks Specify djrk gSA vU; lHkh Controls bl Control ds ckn Define gksrs gSaA /;ku jgs fd lHkh Controls Lo;a ,d Window gksrk gSA ge dbZ Group Of Controls Create dj ldrs gSaA fdlh Hkh Group Control ds izFke Control esa WS_TABSTOP Style Specify jgrk gS rkfd ge ,d Group ls nwljs Group esa Move dj ldsaA ge bl Attributer dks On ;k Off dj ldrs gSaA fdlh Window ds Create gksus ds ckn bl Style dks Change djus ds fy, SetWindoLong() Function dks Use djrs gSaA • WS_SCROLL ;s Attribute Create gksus okys Window esa Horizontal Scroll Bar Hkh Create djrk gSA • WS_ICONIC bl Attribute ls ,slk Window Create gksrk gS] tlds lkFk Default Icon Attached jgrk gSA • WS_MAXIMIZE bl Attribute ls ,slk Window Create gksrk gS tks Initially Maximized gksrk gSA • WS_MAXIMIZEBOX ;s Attribute ,slk Window Create djrk gS ftlesa Maximize Button gksrk gSA bl Attribute dks WS_EX_CONTEXTHELP Style ds lkFk Use ugha fd;k tk ldrk tcfd bls Use djus ij WS_SYSMENU Style dks Specify djuk t:jh gksrk gSA • WS_MINIMIZE bl Attribute ls ,slk Window Create gksrk gS tks Initially Minimized gksrk gSA • WS_MINIMIZEBOX bl Attribute ls ,slk Window Create gksrk gS ftlesa Minimize Button gksrk gSA bl Attribute dks Hkh WS_EX_CONTEXTHELP Style ds lkFk Use ugha fd;k tk ldrk tcfd bls Use djus ij WS_SYSMENU Style dks Use djuk t:jh gksrk gSA • WS_OVERLAPPED ;s Overlapped Window Create djrk gSA ,d Overlapped Window esa ,d Title Bar vkSj ,d Border gksrk gSA Create gksus okyk Window WS_TILED Style ds leku gh gksrk gSA
  • 54. 53 www.BccFalna.com Windows Programming in C • WS_OVERLAPPEDWINDOW ;s Attribute dbZ vU; Attributes dk Combinations gksrk gSA blesa WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_SIZEBOX, WS_MINIMIZEBOX o WS_MAXIMIZEBOX Styles Combined gksrh gSA ge vf/kdrj Window blh Attribute dk Create djrs gSaA • WS_POPUP ;g Attribute Popup Window Create djrk gSA bl Style dks WS_CHILD Style ds lkFk Use ugha dj ldrs gSaA • WS_POPUPWINDOW ;g Attribute ,d Popup Window Create djrk gS ftlesa WS_BORDER, WS_POPUP o WS_SYSMENU Styles combined gksrh gSaA bl Window dks Display djus ds fy, WS_CAPTION o WS_POPUPWINDOW Style dks Active djuk t:jh gksrk gSA • WS_SIZEBOX bl Attribute ls ,d Sizable Window Create gksrk gSA ;g Style WS_THICKFRAME ds leku gh gSA • WS_SYSMENU ;s Attribute ,d ,slk Window Create djrk gS ftlds Title Bar ij ,d Window Menu gksrk gSA blesa WS_CAPTION Style dks Hkh Specify djuk t:jh gksrk gSA • WS_TABSTOP ;s Attribute ,d Control dks bl rjg dk Specify djrk gS tks Keyboard ij Tab Key press djus ij Focus Receive djrk gSA Tab Key Press djus ij Focus vU; Control ij Move djrk gSA bl Style dks ge On ;k Off dj ldrs gSaA • WS_THICKFRAME ;s Attribute ,d ,slk Window Create djrk gS ftldh Border Sizeable gksrh gSA ;s Attribute WS_SIZEBOX ds leku gh gSA • WS_TILED ;s Attribute ,d Overlapped Style dk Window Create djrk gSA • WS_TILEDWINDOW ;s Property WS_OVERLAPPEDWINDOW Attribute ds leku gh gSA
  • 55. 54 www.BccFalna.com Windows Programming in C • WS_VISIBLE ;s Attribute ,d ,slk Window Create djrk gS tks Initially Visible gksrk gSA • WS_VSCROLL ;s Property ,d ,slk Window Create djrk gS ftlesa Vertical Scroll bar gksrk gSA ShowWindowEx() o SetWindowPos() Functions dks Use djds ge bl Attribute dks On ;k Off dj ldrs gSaA ;s lHkh General Styles gSaA fo”ks’k izdkj dh Window Classes dk Lo;a dk Window Style dk ,d Set gksrk gSA fo”ks’k :i ls Button Window Class, Combo Box Window Class, Text Box Window Class, Edit Window Class, List Box Window Class, Scroll Bar Window Class, Static Window Class vkSj Dialog Window Class dk Lo;a dk fofHkUu Window Styles Values dk ,d Set gS ftUgsa ge bu Parameters ds :i esa Supply dj ldrs gSaA WS_OVERLAPPEDWINDOW Style lcls vPNh Style gS ftls ge gj Program esa Main Window ds fy, Use dj ldrs gSaA oSls ge pkgsa rks ,d ls vf/kd Styles dks Combine djds Hkh Use dj ldrs gSaA ge WS_VISIBLE Attribute dk iz;ksx djds Window dks Display Hkh dj ldrs gSa ysfdu ge CreateWindowEx() Functions dks Call djus ds ckn Window dks Visible cukus ds fy, ,d vkSj Function Call djrs gSaA blfy, ;gka bl Attribute dh gesa t:jr ugha gksrh gSA 5. int x ;s Argument Window dh Initial Horizontal Position crkrk gSA ;kuh ;s eku r; djrk gS fd Display gksus okyk Window Left Size ls fdrus Pixels dh nwjh ij Display gksxkA fdlh Overlapped ;k Popup Window ds fy, bl Argument dk eku ;s r; djrk gS fd Window Screen Coordinates dh rqyuk esa Upper Left Corner ls fdruh nwjh ij Display gksxk vkSj fdlh MDI Window esa Create gksus okyk Child Window mlds Parent Window ds Coordinates dh rqyuk esa Upper Left Corner ls fdruk nwj gksxkA ;fn x dk eku CW_USERDEFAULT Initialize dj fn;k tk,] rks Windows OS Lo;a Default Upper Left Corner esa Window dks Display djrk gS vkSj y Parameter dks Ignore dj nsrk gSA CW_USERDEFAULT dsoy Overlapped Windows ds fy, gh Valid gksrk gSA ;fn bls fdlh Popup Window ;k Child Window ds fy, Specify fd;k tk,] rks x vkSj y Parameters dk eku 0 gks tkrk gSA 6. int y
  • 56. 55 www.BccFalna.com Windows Programming in C ;s Argument Window dh Initial Vertical Position Specify djrk gSA fdlh Overlapped ;k popup Window ds fy, y dk eku ;s r; djrk gS fd Display gksus okyk Window Screen Coordinates dh rqyuk esa Top ls fdruk uhps Display gksxk] tcfd ,d Child Window esa y dk eku ;s r; djrk gS fd Window mlds Parent Window ds Client Area ds Top ls fdruk uhps Display gksxkA ;fn fdlh Overlapped Window dks WS_VISIBLE Style dk Create fd;k tkrk gS rks x Parameter dk eku CW_USERDEFAULT Set gks tkrk gS vkSj System y Parameter dks Ignore dj nsrk gSA 7. int nWidth fdlh Create gksus okys Window dh Width ;s Parameter Specify djrk gSA fdlh Overlapped Window ds fy, Screen Coordinate ;k CW_USERDEFAULT ds According nWidth Window dh Width gksrh gSA ;fn nWidth esa CW_USERDEFAULT eku gks rks Computer Window dks ,d Default Height o Width esa Display djrk gSA CW_USREDEFAULT dsoy Overlapped Window ds fy, gh Valid gSA ;fn CW_USERDEFAULT dks fdlh Child Window ;k Popup Window ds fy, Specify fd;k tk,] rks nWidth o nHeight Parameters dk eku Zero gks tkrk gSA 8. int nHeight fdlh Overlapped Window esa nHeight dk eku Screen Coordinates ds According Window dh Height ds cjkcj gksrk gSA ;fn nWidth Parameter dks CW_USERDEFAULT Set dj fn;k tk, rks System nWidth ds eku dks Ignore dj nsrk gSA Default Style esa Window vDlj Screen Coordinates ds According fcYdqy Center esa Display gksrk gSA oSls gesa CW_USERDEFAULT Option dks gh Specify djuk pkfg,A ,slk blfy, D;ksafd yksx vyx&vyx Resolutions ij dke djrs gSaA dksbZ 640X480 ij rks dksbZ 1024X768 ijA lHkh yksx 800X600 ds Resolution ij dke ugha djrsA bl fLFkfr esa ;fn ge x, y, nWidth o nHeight ekuksa dks Initialize djrs gSa] rks Create gksus okys Window dh Size vyx&vyx Resolutions ij vyx&vyx fn[kkbZ nsxhA ,sls esa ;fn ge CW_USERDEFAULT dks Specify djrs gSa] rks ge Resolution ds vuqlkj Windows OS Lo;a gh gj Computer esa Window ds Display dks Control djrk gSA 9. HWND hWndParent tc Hkh ge dksbZ Child Window Create djrs gSa rks ;s Parameter Parent Window ds Handle dks Specify djrk gSA Popup Menu ds fy, ;s eku optional gksrk gSA Buttons, Text Edit Boxes vkSj vU; nwljs Controls Child Window ds vPNs mnkgj.k gSaA fdlh Application dk Main Window Lo;a dksbZ Child Window ugha gksrk gSA blfy, tc ge Application dk Main Window Create dj jgs gksa rc blesa NULL Specify dj ldrs gSaA 10. HMENU hMenu
  • 57. 56 www.BccFalna.com Windows Programming in C ;s fdlh Menu dk Handle gksrk gS ;k fdlh Child Window Identifier dks Window Style ds vk/kkj ij Specify djrk gSA fdlh Overlapped Window ;k Popup Window ds fy, hMenu ml Menu dks Identify djrk gS] ftls Window ds lkFk Use djuk gSA ;fn gekjs Window esa Menu uk gks ;k gesa Class Menu Use djuk gks] rks ge blesa NULL Specify dj ldrs gSaA fdlh Child Window ds fy, hMenu Child Window Identifier dks Specify djrk gSA ;s ,d Integer eku gksrk gS ftldk iz;ksx Dialog Box Control bl Child Window ds Parent Window dks Events ds ckjs esa Notify djus ds fy, djrk gSA Application Window Child Window Identifier dks Determine djrk gSA bldk eku gj Child Window ds fy, Unique gksuk pkfg, tks fd ,d gh Parent Window esa gksaA 11. HINSTANCE hInstance bl Argument esa gekjs Application ;k Module dk handle Pass fd;k tkrk gSA ge bl Handle dks GetModuleHandle() API Function dk iz;ksx djds izkIr djrs gSaA tc Application dk main Program Class ds Variables dks Initialize djrk gS rc ;s Application ds Handle dks ,d Global Variable esa Save djrk gS] ftls ckn esa CreateWindowEx() API Function esa Use fd;k tkrk gSA Application ds Handle dh gesa Future esa Hkh t:jr iMrh gS] blfy, ge bl Handle dks Global Variable esa Store djrs gSaA CreateWindowEx() API Function okLro esa Window dks Memory esa Create o Initialize djrk gSA gesa bruk dqN djus ds ckn Hkh Window Screen ij Display ugha gksrkA Windows OS dks ;s crkus ds fy, fd og gekjs Window dks Screen ij Display djs] gesa ShowWindowEx() API Functions dks Call djuk iMrk gSA bl Functions dk Prototype fuEukuqlkj gS % BOOL ShowWindow( HWND hWnd, int nCmdShow ); bl Function dk igyk Parameter ,d Window Handle gSA bl Handle dks CreateWindowEx() Function Return djrk gSA nwljk Parameter ;s crkrk gS fd Window dks fdl rjg ls Display djuk gSA Window dks izFke ckj Display djus ds fy, SW_SHOWNORMAL ,d mfpr eku gSA ;s Function okLro esa Window dks Visible ugha cukrk gSA ;s dsoy Window dks bl fLFkfr esa ykrk gS fd Window Display gks ldsA gkykafd Windows OS gekjs Window dh Frame dks Draw djrk gS] ysfdu Window ds Client Area dks Fill djus dh ftEesnkjh gekjh gksrh gSA ,slk rc gksrk gS tc Windows gekjs Application dks ,d Message Send djrk gSA bl
  • 58. 57 www.BccFalna.com Windows Programming in C Message esa og gekjs Application dks crkrk gS fd gekjk Application blds Client Area dks Lo;a Paint djsA gkykafd bl le; Computer dk Control gekjs Application esa gh gksrk gS] ysfdu gekjk Application rc rd Window dks Screen ij Draw ugha dj ldrk tc rd fd Windows OS bls ,d Message Send ugha djrkA Window dks Screen ij Draw djus ds fy, Windows OS dks dguk iMrk gS fd og gekjs Application Procedure dks ,d Message Send djsA rc gekjk Window Procedure Window dh Information Screen ij Fill dj ldrk gSA ge ;s dke UpdateWindow() API Function dks Call djds djrs gSaA /;ku nsa fd UpdateWindow() Function Hkh okLro esa Window Draw ugha djrk gSA Window Procedure esa ;s Windows OS dks dgrk gS fd og gekjs Application dks ,d Message Send djs tks gekjs Application dks Window Draw djus ds fy, dgsA okLrfod Drawing gekjs Application ds main Program esa ugha gksrh gSA ,d ckj tc ge Windows OS dks vius Window dks Update djus ds fy, dg nsrs gSa rks gekjk Window igyh ckj Draw gks tkrk gSA vc gekjs Application ds main Program dks dsoy Windows OS ls vkus okys fofHkUu Messages dks Process djuk gksrk gSA fdlh Hkh Application Program dks Windows OS }kjk feyus okyk lcls igyk Message ;gh gksrk gS fd gekjk Application Window dks Draw djsA Message Queue GUI Programming esa ge fofHkUu izdkj ds Messages dks Process djds Event Driven Programming djrs gSaA pfy,] bls FkksMk le>us dh dksf”k”k djrs gSaA ,d GUI Program ls User lSdMksa rjhdksa ls Interaction dj ldrk gSA ;kuh ,d Application ekuk fd MS-Word gSA vc User viuh bPNk o vko”;drkuqlkj lSdMksa rjhdksa ls MS-Word ds fofHkUu Options o Commands dks Use dj ldrk gSA DOS Programming dh rjg GUI Program fdlh ,d fuf”pr Øe esa Execute o Run ugha gSaA nwljh ckr ;s gS fd Windows OS esa dqN Events ,sls gksrs gSa tks fcuk User ds fdlh izdkj ds Interaction ds Hkh Generate gksrs gSaA ;s Software Events gksrs gSaA tSls tc ,d Window Create gksrk gS] rc ,d Event Generate gksrk gS] tc Window esa fn[kkbZ nsus okys fofHkUu izdkj ds Content Screen ij Draw gksrs gSa rc Hkh ,d Software Event Generate gksrk gSA bruk gh ugha] cfYd ,d Event Generate gksus ij og dbZ vU; Events dks Hkh Generate dj nsrk gSA