w pwith cinhindi

96
Windows Programming in C BccFalna.com 097994-55505 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.

Upload: chand-rook

Post on 15-Jul-2015

35 views

Category:

Education


3 download

TRANSCRIPT

Page 1: W pwith cinhindi

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.

Page 2: W pwith cinhindi

1

www.BccFalna.com

WindoWs Programming in C

� � � Kuldeep Chand

BetaLab Computer Center

Falna

Page 3: W pwith cinhindi

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 [email protected], 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.

Page 4: W pwith cinhindi

3

www.BccFalna.com

WindoWs Programming in C

This book is dedicated to those

who really wants to be

a

Professional develoPer

Page 5: W pwith cinhindi

4

www.BccFalna.com

WindoWs Programming in C

index of

Contents

Page 6: W pwith cinhindi

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

Page 7: W pwith cinhindi

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

Page 8: W pwith cinhindi

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

Page 9: W pwith cinhindi

8

www.BccFalna.com

WindoWs Programming in C

Page 10: W pwith cinhindi

9

www.BccFalna.com

WindoWs Programming in C

oPerating system

&

WindoWs

Programming

Page 11: W pwith cinhindi

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("\n\nYour 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

Page 12: W pwith cinhindi

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

Page 13: W pwith cinhindi

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

Page 14: W pwith cinhindi

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

Page 15: W pwith cinhindi

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

Page 16: W pwith cinhindi

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

Page 17: W pwith cinhindi

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

Page 18: W pwith cinhindi

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

Page 19: W pwith cinhindi

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

Page 20: W pwith cinhindi

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

Page 21: W pwith cinhindi

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

Page 22: W pwith cinhindi

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%

Page 23: W pwith cinhindi

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

Page 24: W pwith cinhindi

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

Page 25: W pwith cinhindi

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

Page 26: W pwith cinhindi

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

Page 27: W pwith cinhindi

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

Page 28: W pwith cinhindi

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

Page 29: W pwith cinhindi

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

Page 30: W pwith cinhindi

29

www.BccFalna.com

WindoWs Programming in C

WindoWs

Programming

Using C

Page 31: W pwith cinhindi

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]

Page 32: W pwith cinhindi

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

Page 33: W pwith cinhindi

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

Page 34: W pwith cinhindi

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

Page 35: W pwith cinhindi

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

Page 36: W pwith cinhindi

35

www.BccFalna.com

WindoWs Programming in C

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\ CurrentVersion\Windows\APPINIT_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

Page 37: W pwith cinhindi

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

Page 38: W pwith cinhindi

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 ;

Page 39: W pwith cinhindi

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

Page 40: W pwith cinhindi

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

Page 41: W pwith cinhindi

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

Page 42: W pwith cinhindi

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 ;

Page 43: W pwith cinhindi

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

Page 44: W pwith cinhindi

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

Page 45: W pwith cinhindi

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

Page 46: W pwith cinhindi

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 );

Page 47: W pwith cinhindi

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

Page 48: W pwith cinhindi

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

Page 49: W pwith cinhindi

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

Page 50: W pwith cinhindi

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

Page 51: W pwith cinhindi

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

Page 52: W pwith cinhindi

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

Page 53: W pwith cinhindi

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

Page 54: W pwith cinhindi

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

Page 55: W pwith cinhindi

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

Page 56: W pwith cinhindi

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

Page 57: W pwith cinhindi

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

Page 58: W pwith cinhindi

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

Page 59: W pwith cinhindi

58

www.BccFalna.com

WindoWs Programming in C

;kuh ,d Application dks lSdMksa dh la[;k esa fofHkUu Messages yxkrkj izkIr gksrs jgrs gSaA

bl izfØ;k esa ,d loky fnekx esa vkrk gS fd vkf[kj fdl Øe esa ,d Application Program

bu Messages dh Processing djrk gSA

Application Program esa vkus okys fofHkUu Messages ,d Queue esa Store gksrs jgrs gSaA Queue ,d Data Structure gS ftlds ckjs esa ge igys gh i< pqds gSaA Queue esa vkus okys

Messages “FIFO” (First In First Out) ds rjhds esa dke djrs gSaA

;kuh Application Program dks tks Message igys izkIr gksrk gS og Message igys

Process gksrk gS vkSj tks Message ckn esa izkIr gksrk gS] og Message ckn esa Process fd;k tkrk gSA gj Application Program dk viuk vyx Messages Queue gksrk gS ftls

Application Message Queue dgk tkrk gSA

pwafd] Windows ,d Multi Tasking Operating System gS blfy, Windows ds

Environment esa ge dbZ Application Programs dks ,d gh le; esa Use dj ldrs gSaA ge

fdlh Hkh le; fdlh Hkh Application Program dks Choose djds mlesa fdlh Hkh rjg dk

dke dj ldrs gSaA

vc fdlh Application Software dks ;s dSls irk pyrk gS fd Window }kjk vkus okyk dkSulk

Message mlh Application ds fy, gSA ;s r; djus dk dke Windows OS djrk gSA

Windows OS dk Lo;a dk ,d Message Queue gksrk gS ftls System Message Queue dgrs gSaA System Message Queue lHkh Application Programs dh Queue dks

Message Hkstus dk dke djrk gSA

;kuh System Message Queue ls Windows OS ;s r; djrk gS fd dkSulk Event fdl

Application ls lEcaf/kr Fkk] vkSj mlh Application dks Appropriate Message Hkst nsrk gS

tks fd ml Application ds Message Queue esa tk dj Store gks tkrk gSA bl izfØ;k dks

,d mnkgj.k }kjk le>rs gSa %

tc Mouse ls Click fd;k tkrk gS rks ,d Event Generate gksrk gSA Mouse dk Device Driver ml Click Event ds Message dks Operating System esa Hkstrk gSA ;kuh Device Driver Operating System ls dgrk gS fd Mouse ls Click gqvk gSA

Device Driver }kjk Hkstk tkus okyk Message System Message Queue esa Store gks tkrk gSA Operating System bl Message dks System Message Queue ls ysrk gS vkSj

irk yxkrk gS fd vkus okyk Message fdl Application ls lEcaf/kr gSA

Page 60: W pwith cinhindi

59

www.BccFalna.com

WindoWs Programming in C

;kuh Operating System irk yxkrk gS fd fdl Application ds Window ij Click fd;k

x;k gSA ;s irk yxkus ds ckn Operating System ml Application dks Message Hkstrk gS

tks ml Application ds Application Message Queue esa tk dj Store gks tkrk gSA

Message Processing Loop Window dks Initialize, Register o Create djus ds ckn vkSj Window dks ;s crkus ds ckn

fd og gekjs Window dks Display djus dk Message iznku djs] gekjs main Program dks

,d vkSj egRoiw.kZ dke djuk gksrk gS vkSj og dke gS Windows OS ls vkus okys Messages dh Processing djukA Message Processing Loop okLro esa FkksMs ls Coding Statements gksrs gSaA

;s Code Statements yxkrkj GetMessage() Function dks Call djrs jgrs gSa vkSj ;s rc

rd Call gksrk gS tc rd fd False (Zero) Return ugha djrkA False eku Windows OS ls

vkus okyk ,d WM_QUIT Message gksrk gS] tks gekjs Program ds Termination dks r;

djrk gSA ;kuh ;s eku r; djrk gS fd gekjk Program dc Terminate gksxkA

;fn GetMessage() Functions True Return djrk gS] rks Message Loop TranslateMessage() Function dks Call djrk gSA TranslateMessage() Functions eq[; :i ls Keystrokes dks Process djrk gSA mlds ckn ;s GetMessage() Functions DispachMessage() Function dks Call djrk gSA ;s Function Messages dks Window Procedure esa Pass djrk gSA

GetMessage() Function Control dks gekjs Program ls Windows OS esa Pass djrk gS

rkfd Windows OS Keystrokes, Mouse Movements o vU; Events dks Process dj

ldsA tc dksbZ Event Generate gksrk gS vkSj og Event gekjs Program ls lEcaf/kr gksrk gS]

rc Windows OS MSG Structure Variable esa mfpr Message Information dks Store djds GetMessage() Functions ls Return gksrk gSA

GetMessage() Functions ds nwljs Parameter esa lkekU;r;k NULL gksrk gS] ftldk eryc

gksrk gS fd Program ds fdlh Hkh Window dks Hksts tkus okys fdlh Hkh Message dks

Program Process djsxkA ;fn ge bl Parameter esa fdlh Window ds Handle dks j[ksa]

rks GetMessage() Function dsoy mu Messages dks Return djrk gS tks fd ml [kkl

Specified Window ds fy, gksrs gSa] ftldk Handle bl Function esa fn;k x;k gSA

Return Value ds :i esa MSG Parameter esa Windows OS }kjk Returned Message Information gksrs gSaA lkekU;rkSj ij ge bl Message Variable ds Contents dks Ignore

Page 61: W pwith cinhindi

60

www.BccFalna.com

WindoWs Programming in C

dj ldrs gSaA gesa Message dks TranslateMessage() o DispachMessage() Functions esa Pass djuk gksrk gSA MSG Structure fuEukuqlkj gksrk gS %

typedef struct { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG;

lkjka”k esa dgsa rks ge dg ldrs gSa fd dksbZ Hkh Window Create djds mls Screen ij Display djus ds fy, gesa ikap dke eq[; :i ls djus iMrs gSa %

1 ,d Window Class Create djuk] ftlds vk/kkj ij fofHkUu Windows cuk ldsaA ge

ftl rjg dh Property Set djrs gSa] Create gksus okys lHkh Window mlh rjg ds gksrs

gSaA 2 Create fd, x, Window Class dks Windows Operating System esa Register djukA

tc rd Window Class Operating System ls Register ugha gksrk] rc rd Windows Operating System dks ;s irk ugha gksrk gS fd ge fdl rjg dk Window Draw djuk

pkgrs gSaA 3 Registered Class ds vk/kkj ij Window Create djuk vkSj 4 Created Window dks Screen ij Display djuk 5 Operating System Windows ls vkus okys fofHkUu Messages dks Handle djukA

ge tc C Language esa GUI dh Programming djuk pkgrs gSa rc gesa 32-Bit Compiler Use djuk t:jh gksrk gSA blfy, ge ;gka Microsoft Company dk Visual C++ 6 dk IDE Use dj jgs gSaA ge pkgsa rks Turbo C++ 4.5 esa Hkh ;s Programming dj ldrs gSa D;ksafd ;s

Compiler Hkh 32-Bit Programming dks Support djrk gS vkSj ge pkgsa rks Borland C++ 5.02 dk IDE Hkh Use dj ldrs gSa D;ksafd ;s IDE Hkh gesa 32-Bit Compiler Provide djrk

gSA

lcls igys gesa Microsoft Visual Studio 6 dks vius Computer esa Install djuk gksxkA ;s ,d

Package ds :i esa vkrk gS ftlesa Visual Basic, Visual C++, Visual Fox-Pro o Visual InterDev ds pkj IDE vkrs gSaA

Page 62: W pwith cinhindi

61

www.BccFalna.com

WindoWs Programming in C

vc Visuasl C++ ds bl IDE ds File Menu esa tkdj New Option dks Select djuk gksrk

gSA ,slk djrs gh gekjs lkeus ,d New Dialog Box vkrk gS] ftlesa fofHkUu izdkj ds Project Display gksrs gSaA ge ftl rjg dk Project cukuk pkgrs gS] ml rjg ds Option dks Select djrs gSaA

pwafd ge ;gka ij ,d GUI Program Develop dj jgs gSa] blfy, gesa Win32 Application Option dks Select djuk gksrk gSA blh Dialog Box ds Right Side esa Project Name Text Field gSA ;gka gesa vius Project dk uke nsuk gksrk gSA geus ;gka Project dk uke “First Window In Visual C” fn;k gSA

blds uhps Location uke dk Text Field gSA ;gka ge vius Project dks Hard Disk esa Save djus dh Location r; djrs gSaA geus ;s Location My Documents fn;k gSA ;kuh gekjk ;s Project My Document esa ,d Folder “First Window In Visual C” cusxk mlesa Save gksxkA

ge gekjs Project dk tks Hkh uke nsrs gSa] Location ij mlh uke dk ,d Folder Default :i

ls cu tkrk gSA bl Dialog Box esa vius Project dh Information ns dj ge OK Button ij Click djrs gSaA OK Button ij Click djrs gh fuEukuqlkj ,d Wizard Display gksrk gS tks

gels iwNrk gS fd ge fdl rjg dk Application Create djuk pkgrs gSaA

Page 63: W pwith cinhindi

62

www.BccFalna.com

WindoWs Programming in C

;gka ge izFke Option “An Empty Project” dks Select djds Finish Button ij Click djrs

gSaA Finish Button ij Click djrs gh “New Project Information” dk ,d Dialog Box Display gksrk gS tks Create gksus okys Project dh tkudkjh Display djrk gSA blds OK Button ij Click djrs gSaA

Project ds Create gksrs gh Workspace Window esa Create gksus okys Project ls lEcaf/kr

Folders o Files Display gksus yxrs gSaA Workspace Window esa nks Tabs gSaA “Class View” Tab dks Click djds ge ns[k ldrs gSa fd gekjs Project esa fdruh Classes gSa vkSj

dkSu&dkSu lh Classes gSa vkSj “Files View” Tab ij Click djds ge gekjs Project ls tqMh

gqbZ fofHkUu izdkj dh Files tSls fd Header Files, Source Files o Resource Files vkfn

dh tkudkjh ys ldrs gSa fd dkSu&dkSu lh Files gekjs Project esa Included gSaA

vHkh gekjk Project fcYdqy [kkyh gSA vc gesa lcls igys blesa ,d Source File Create djuh

gSA bl dke ds fy, gesa okil File Menu ds New Option ij Click djuk gksrk gSA ;gka

Click djrs gh vc gekjs lkeus fuEukuqlkj New Dialog Box Display gksrk gS %

Page 64: W pwith cinhindi

63

www.BccFalna.com

WindoWs Programming in C

bl Dialog Box esa gesa “C++ Source File” Option dks Select djuk gksrk gS vkSj File Name Text Box esa viuh Source File dk uke nsuk gksrk gSA geus viuh Source File dk

uke “First Window.C” fn;k gSA

;fn ge .C dk iz;ksx Source File ds Extension ds :i esa uk djsa rks Default :i ls cuus

okyh File .C++ dh gksrh gSA ;fn ge Add to Project Check Box ls Check Mark dks gVk

nsa] rks Create gksus okyh File gekjs Project esa Add ugha gksxhA

vc ge OK Button ij Click djrs gSaA Click djrs gh IDE esa ,d Text File Open gks tkrh

gS ftlesa ge vius Program dh Source Coding dj ldrs gSaA bruk djus ds ckn vc ge

GUI dh Programming djus ds fy, rS;kj gSaA

u, Window dks Create djus ds fy, vc ge fuEukuqlkj Coding “First Window.C” uke dh Source File esa fy[k ldrs gSaA ;s Program ,d NewWindow uke dk Window

Create djsxk vkSj mls Screen ij Display djsxkA

A Complete main Program

Program

#include <windows.h> //Prototype Declaration of MyWindowProcedure UDF long _stdcall MyWindowProcedure(HWND,UINT,UINT,slong); WNDCLASSEX NewWindow; //Global Object Declaration

Page 65: W pwith cinhindi

64

www.BccFalna.com

WindoWs Programming in C

int _stdcall WinMain ( HINSTANCE hInstance, HINSTANCE hprevInstance, LPSTR lpCmdLine, int nShowCmd ) //Main Program Starting { //Handle Variable of NewWindow Object or Instance HWND NewWindowHandle; //Window Class Initialization For NewWindow Instance 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.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); NewWindow.lpszClassName = "MyWindowClass"; NewWindow.hIconSm = NULL ; //Registration Of NewWindow Class To Operating System Windows RegisterClassEx(&NewWindow); //Creating Window and Getting Handle of //NewWindow in NewWindowHandle Variable NewWindowHandle = CreateWindowEx ( NULL, "MyWindowClass", "My First Window", WS_OVERLAPPEDWINDOW,

Page 66: W pwith cinhindi

65

www.BccFalna.com

WindoWs Programming in C

CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); //Showing Window On The Screen ShowWindow(NewWindowHandle, nShowCmd); MessageBox(0,"Window Created", "getch()",0); return 0; } long _stdcall MyWindowProcedure(HWND W,UINT X, UINT Y, long Z) { return DefWindowProc(W,X,Y,Z); }

Program dks Source File esa fy[k dj Save djsaA vc gesa Program dks Compile djuk

gksrk gSA blds fy, Visual C++ ds IDE esa Build uke dk ,d Menu gSA bl Menu ds igys

Option ij Click djds ge gekjs Program dks Compile dj ldrs gSaA ge pkgsa rks Ctrl + F7 Key Combination ;k Shortcut Key dk iz;ksx djds Hkh vius Program dks Compile dj

ldrs gSaA

vc gesa gekjs Program dks Build djuk gksrk gSA blds fy, ge Build Menu ds nwljs Option dks Click dj ldrs gSa ;k fQj Function Key F7 dks Press dj ldrs gSaA

;fn ge F5 Function Key dk iz;ksx djrs gSa] rks IDE Lo;a gh lHkh izdkj dh Compiling o Building dj ysrk gS vkSj Program dks Run Hkh dj nsrk gS blfy, ;fn ge pkgsa rks Source Code fy[k dj lh/ks gh F5 Functions Key dk iz;ksx djds vius Program dks Run dj

ldrs gSaA Program dks Run djus o Debug djus ds ckn Program dk Output fuEukuqlkj

fn[kkbZ nsrk gS%

Page 67: W pwith cinhindi

66

www.BccFalna.com

WindoWs Programming in C

bl Program esa geus NewWindow Variable ;k Object ;k Window Class Instance dks

Globally Declare fd;k gS] blfy, ge ;fn Window Class Structure ds dqN Member Variables dks gh Initialize djuk pkgsa] rks dj ldrs gSaA ,slk djus ij “ks’k Member Default eku ls Initialize gks tkrs gSaA fQj Hkh ges dqN Members dks Initialized djuk t:jh gksrk gSA

ge pkgsa] rks fuEukuqlkj t:jh Members dks Initialize djds Hkh bl Window dks Create o Display dj ldrs gSaA

//Window Class Initialization For NewWindow Instance NewWindow.cbSize = sizeof(WNDCLASSEX); NewWindow.lpfnWndProc = MyWindowProcedure; NewWindow.hInstance = hInstance; NewWindow.hbrBackground = COLOR_WINDOW+1; NewWindow.lpszClassName = "MyWindowClass";

ge Visual C++ ds IDE esa dke dj jgs gSaA C++ esa fdlh Hkh User Defined Function dk

uke] Functions dk Return Data Type o Function ds Arguments ds Data Type dks

Main Function ls igys gh crkuk t:jh gksrk gS bl dke dks Prototype Declaration djuk

dgrs gSaA blhfy, geus “MyWindowProcedure” dk Prototype Main Function ls igys

long _stdcall MyWindowProcedure(HWND,UINT, UINT,slong); Statement }kjk Declare fd;k gSA ;fn ge ,slk ugha djrs gSa] rks Program Compile ugha gksrk vkSj Error nsrk gSA

ge pkgsa rks Prototype Declaration ds LFkku ij User Defined Function ( UDF ) dks

Define Hkh dj ldrs gSaA ysfdu ;fn gekjk UDF Main Function ds ckn esa gks] rks gesa

Prototype Declare djuk t:jh gksrk gSA

Page 68: W pwith cinhindi

67

www.BccFalna.com

WindoWs Programming in C

gj Window dh viuh dqN Properties ;k fo”ks’krk,a gksrh gSaA tSls fd Window dh yEckbZ]

pkSMkbZ] X v{k o Y v{k ls nwjh] Window ds Client Area dk Color vkfnA ge Window Class Structure ds fofHkUu Member Variables dks Initialize djds ;gh r; djrs gSa fd

Create gksus okyk Window Screen ij fdl rjg fn[kkbZ nsxkA

;s r; djus ds fy, geus lcls igys Window Class dk ,d Variable ;k Object ;k

Instance NewWindow Create fd;k vkSj bls Global j[kk gSA

NewWindow Instance }kjk ge Window Class dks Initialize djrs gSa vkSj fQj blh

Instance dk Address ge RegisterWindow() Function esa Pass djds] bl fo”ks’k izdkj dh

Class dks Operating System Windows ls Register djok ysrs gSaA

geus ftl izdkj dk Window Create djus ds fy, Window Class Structure dks Initialize fd;k gS] Operating System esa ml Class ds Register gks tkus ds ckn ge mlh izdkj ds

ftrus Window Create djuk pkgsa] mrus Window Create dj ldrs gSaA

bl Program dks Run djus ij ,d Window Display gksrk gS vkSj ,d Message Box vkrk

gSA tc ge Message Box ds OK Button ij Click djrs gSa] Program Terminate gks tkrk

gSA ;gka ;s Message Box ,d lk/kkj.k DOS Based C Program esa Use fd, tkus okys

getch() Function dh rjg dke djrk gSA

;fn ge MessageBox() Function dks vius Program ls gVk nsa] rks Window Display gksrs gh rqjUr xk;c gks tkrk gS ;kuh Program Terminate gks tkrk gSA ,slk blfy, gksrk gS D;ksafd

vHkh rd geus Operating System Windows ls vkus okys fdlh Hkh Message dks Handle djus ds fy, Window Procedure dh Coding ugha dh gSA blesa dsoy ,d Function DefWindowProc() dk iz;ksx fd;k gSA

;fn ge Window Procedure esa fdlh Message dh Processing ds Code uk fy[ksa] rks ;s

Functions Operating System Windows ls vkus okys Message dh Default Processing djrk gSA ;s Function fcYdqy mlh rjg dk gksrk gS ftl rjg dk WindowProc() Function gksrk gSA

LRESULT DefWindowProc ( HWND hxWnd, // handle to window UINT Msg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter

Page 69: W pwith cinhindi

68

www.BccFalna.com

WindoWs Programming in C

);

;fn ge Window Procedure esa fdlh Hkh Message dks Process djus dh Coding ugha fy[krs gSa] rks MSG Structure esa dksbZ Hkh Message Process gksus ds fy, ugha gksrkA bl

fLFkfr esa GetMessage() Function False Return djrk gSA

tc GetMessage() Function False Return djrk gS rks ,d Default Message WM_QUIT Generate gksrk gSA ;s Message fdlh Hkh Program dks Terminate djus dk

dke djrk gSA

DefWindowProc() ,d Default Message Processor gSA ;kuh ;fn ge Window Procedure esa fdlh Message dks Process uk djsa rks ;s Function vkus okys Message dks

Default :i ls Process djrk gSA

DispatchMessage() Function bl Message dks Window Procedure “MyWindowProcedure” esa Hkstrk gSA “MyWindowProcedure” dk DefWindowProc() Functions bl Message dks Identify djrk gSA mls irk pyrk gS fd vkus okyk Message Program dks Terminate djus ds fy, vkrk gSA bl fLFkfr esa og bl Message dh Default Processing djrk gS vkSj Program dks Terminate dj nsrk gSA

Window Procedure Main Program dHkh Hkh fdlh vU; Function dks Application esa Call ugha djrk] cfYd

Windows Operating System dks tc Application Program dks Message Hkstuk gksrk gS

rc og Lo;a gh Automatic rjhds ls Main Program ds Window Procedure dks Call djrk gSA

Window Procedure dk Address Window Class ds Member Variable lpfnWndProc esa gksrk gSA tc Windows Operating System esa Window Class Structure dks Register fd;k tkrk gS] rc Windows Operating System ml Class ls lEcaf/kr Main Program dks

,d Unique Unsigned Integer Number iznku djrk gS] ftls hInstance dgk tkrk gSA

;gh hInstance Handle Window Procedure dks Argument ds :i esa Pass fd;k tkrk gS

ftlls Windows Operating System ml Program dks igpku ikrk gS ftlds fy,

Operating System dks Message Hkstuk gksrk gSA fcuk bl hInstance Handle ds

Windows Operating System ml Window Procedure esa Message ugha Hkst ldrk tks

fd Main Program ls lEcaf/kr gksrk gSA

Page 70: W pwith cinhindi

69

www.BccFalna.com

WindoWs Programming in C

,slk blfy, gksrk gS D;ksafd ,d gh le; esa dbZ Application Running gks ldrs gSaA ,sls esa

Generate gksus okyk Event fdl Program ls lEcaf/kr gS] bls Operating System blh

hInstance Handle ls igpkurk gSA bls ,d mnkgj.k ls le>us dh dksf”k”k djrs gSaA

ekuk fd ,d Program WordPad Run gks jgk gSA ge tSls gh WordPad dks Start djrs gSa]

Operating System WordPad dh Window Class ds Structure dks Register djrk gS

vkSj WordPad dks ,d hInstance Handle iznku djrk gS ;kuh ,d Unique Unsigned Integer Number iznku djrk gS vkSj bl Handle dks WordPad dh Window Class Structure ds Member Variable hInstance esa Initialize dj nsrk gSA

tc User WordPad ds Window esa dgha ij Click djrk gS] rc ,d Click Event Generate gksrk gSA bl Click Event dh Information Mouse dk Device Driver Operating System dks nsrk gSA Operating System bl Information ls irk yxkrk gS fd Generate gksus okyk Event fdl Program ls lEcaf/kr gS ;kuh fdl Application Program esa Click fd;k x;k gSA Program dk irk yxkus ds fy, Windows Operating System ;s irk djrk gS

fd ftl le; Click fd;k x;k ml le; Mouse dk Pointer fdl Application Program

ij FkkA ;kuh Operating System Active Window dk irk yxkrk gSA

pwafd fdlh ,d le; ij dsoy ,d gh Window Active jg ldrk gS] blfy, Window dks

irk py tkrk gS fd WordPad ds Window ij Click fd;k x;k gSA Active Window dk

irk pyus ds ckn Operating System Active Window ds hInstance Handle dks [kkstrk

gSA ;s Handle mls WordPad dh Class ls izkIr gksrk gS] D;ksafd Operating System fdlh

Hkh Window dks Start djrs gh mls tks Handle iznku djrk gS] ml Handle dks mlh Class ds ,d Member Variable hInstance dks Initialize dj nsrk gSA Operating System dks

ftl Class ls hInstance Handle izkIr gksrk gS] Operating System mlh Class ls

lEcaf/kr Main Program ds Application Message Queue esa Appropriate Message Hkst

nsrk gSA

tc ge Window Create djus ds fy, CreateWindowEx() API Functions dks Use djrs

gSa rks blesa Hkh ge Main Program ds hInstance Handle dks ,d Parameter ds :i esa

Hkstrs gS] ftlls Operating System Windows dks Window Create djrs le; ;s irk py

tkrk gS fd Create gksus okyk Window fdl Window Class Structure dk Create gksxkA

bl Function ds iz;ksx }kjk tks Window Create gksrk gS] og Window Memory esa Create gksrk gS] Screen ij Display ugha gksrkA Memory esa fdl LFkku ij Window Create gqvk gS

bl tkudkjh dks izkIr djus ds fy, ;g Function Hkh ,d Handle Return djrk gSA bl

Handle dks izkIr djus ds fy, gesa ,d HWND izdkj dk Variable Create djuk iMrk gSA

Page 71: W pwith cinhindi

70

www.BccFalna.com

WindoWs Programming in C

geus gekjs Program esa NewWindowHandle uke dk HWND izdkj dk Variable Declare fd;k gSA

CreateWindowEx() Functions Created Window dk Handle blh Handle Variable esa Store djrk gSA blh Handle dk iz;ksx djds ge ShowWindow() API Functions dks Use djrs gSaA bl Functions esa Parameter ds :i esa ge bl Handle dks Pass djrs gSa vkSj

nwljs Argument ds :i esa bl Functions esa ge ,d Constant eku ;k Integer eku iznku djrs gSaA ;s eku ShowWindow() Function dks crkrk gS fd Window dks fdl izdkj dk

Display djuk gSA ;kuh Window Maximize Display gksxk ;k Minimized voLFkk esaA

fdlh Hkh Program ds Application Message Queue esa Operating System Windows }kjk vkus okys Messages Store gksrs jgrs gSaA ;s Messages ,d MSG uke ds Structure esa Store gksrs gSaA bl Message Structure MSG esa ls ,d&,d djds Messages dks

GetMessage() uke dk ,d API Functions izkIr djrk gS vkSj ,d&,d djds bu

Messages dks DispatchMessage() uke ds ,d API Function esa Hkstrk gSA bl

Functions esa Messages dks Extract fd;k tkrk gSA GetMessagge() Functions dk

Structure fuEukuqlkj gksrk gS %

BOOL GetMessage ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax );

1 LPMSG lpMsg, bl Function ds igys Parameter lpMsg ds :i esa ge MSG izdkj ds Message Structure esa Stored Messages dks izkIr djus ds fy, vius Program esa MSG izdkj

dk ,d Variable Create djrs gSa vkSj pwafd ;s Parameter ,d Pointer gS blfy, bl

MSG Data Type ds Variable dk Address ge bl Function esa Hkst nsrs gSaA ;s

Function gekjs Variable ds }kjk MSG Structure ds Messages dks izkIr djrk gSA

;kuh

MSG NewWindowMessages; GetMessage(&NewWindowMessages, , , );

2 HWND hWND,

Page 72: W pwith cinhindi

71

www.BccFalna.com

WindoWs Programming in C

nwljs Parameter ds :i esa blesa ml Window dk Handle gksrk gS ftlds fy,

Operating System Windows Messages Hkstrk gSA ;s Handle CreateWindowEx() Function ls Return gksrk gSA

3 UINT wMsgFilterMin, rhljk Parameter Lowest Message Value ds Integer eku dks Specify djrk gSA

4 UINT wMsgFilterMax, pkSFkk Parameter Highest Message Value ds Integer eku dks Specify djrk gSA

;fn ;s Function WM_QUIT Message ds vykok dksbZ vU; Message izkIr djrk gS] rks

bldk Return eku ,d Non Zero gksrk gSA ;kuh Function True Return djrk gSA ysfdu

;fn ;g Function WM_QUIT Message izkIr djrk gS] rks ;s False ;k Zero Return djrk

gSA

;fn ge bl Function esa xyr Window Handle ns nsrs gSa] rks ;g –1 Return djrk gS] tks

fd bl ckr dk ladsr djrk gS fd geus xyr Window Handle dks bl Function esa Use fd;k gS ;kuh tks Message Operating System Windows us Hkstk gS og bl Window ds

fy, ugha gS ftls geus Argument ds :i esa bl Function esa Hkstk gSA

dksbZ Hkh Application bl Functions ls Return gksus okys eku dks ;s irk yxkus ds fy, Use djrk gS fd D;k Main Program ds Message Loop dk End djds Program ls Exit gksuk gS ;k ughaA ;fn ;s Function Zero Return djrk gS] rks bldk eryc gksrk gS fd Program dks

Termination djuk gSA

;s Function dsoy ml Window ds Messages dks MSG Structure Variable ls izkIr

djrk gS] ftldk Handle hWnd Parameter ds :i esa fn;k x;k gSA ;fn hWnd esa NULL Specify fd;k x;k gks] rks ;s Functions fdlh Hkh Window ds Message dks izkIr djrk gSA

GetMessage() Function tks Hkh Message dks izkIr djrk gS] mls Message Queue ls

feVk nsrk gS] ysfdu ;s Function WM_PAINT Message dks ugha feVkrkA ;fn ;g Function bl Message dks Hkh Message Queue ls feVk ns] rks Window dk Background dHkh Hkh

Fill ugha gks ldrkA og gesa”kk Transparent gh jgsxkA

/;ku nsa fd Function ls Return gksus okyk eku TRUE, FALSE ;k –1 gh gks ldrk gSA bl

fLFkfr esa ge fuEukuqlkj Code fy[k dj Messages dks ,d&,d ds Øe esa GetMessage() Function }kjk irk dj ldrs gSa fd Function True Return dj jgk gS ;k False,

Page 73: W pwith cinhindi

72

www.BccFalna.com

WindoWs Programming in C

;fn Function True Return djsxk] rks Message dh Processing gksrh jgsxhA tSls gh

Function False Return djsxk] ;s Loop Terminate gks tk,xk vkSj Program Terminate gks tk,xkA D;ksafd ;s Function ,d gh fLFkfr esa False Return djsxk tc MSG Structure ls

bls WM_QUIT Message izkIr gksxk vkSj ;s Message Program ds Termination dk

Message gSA

while (GetMessage( lpMsg, hWnd, 0, 0));

GetMessage() Function tc True Return djrk gS rks ;s r; gks tkrk gS fd MSG Structure esa Windows Operating System }kjk dksbZ Message Hkstk x;k gS ftls Process djuk gSA bl Message dks vc Process djus ds fy, DispatchMessage() Function esa Hkstk tkrk gSA ;s Function GetMessage() Function ls izkIr gq, Message dks

TranslateMessage() Function esa Pass djrk gSA TranslateMessage() Function vkus

okys Message dks Translate djrk gS vkSj Processing ds fy, Window Procedure esa Hkstrk gSA

pwafd] GetMessage() Function esa Create fd, x, Window dk Handle gksrk gS vkSj

CreateWindowEx() Function esa hInstance Argument }kjk ;s crk;k tkrk gS fd Create gksus okyk Window fdl Window Class Structure dk gSA blfy, DispatchMessage() Function }kjk mlh Window Class ds Window Procedure esa Message Processing ds

fy, tkrk gSA DispatchMessage() Function fuEukuqlkj gksrk gS %

LONG DispatchMessage( CONST MSG *lpmsg );

bl Function esa dsoy ,d gh Pointer Argument gksrk gSA Argument ds :i esa ge

Application ds MSG Message Structure ds Variable dk Address nsrs gSaA ;kuh

DispatchMessage(&NewWindowMessage);

pwafd] Operating System Windows cgqr gh rsth ls fofHkUu izdkj ds Messages Hkstrk gSA

blfy, bu Message dks rsth ls Process djus ds fy, ge Main Program esa ,d While Loop esa GetMessage() Function, DispatchMessage() Function o

TranslateMessage() Function rhuksa dks fuEukuqlkj ,d lkFk fy[krs gSa vkSj Messages dks

izkIr djds mUgsa Process djrs gSaA

while (GetMessage( lpMsg, hWnd, 0, 0) > 0) { DispatchMessage(&NewWindowMessage); TranslateMessage(&NewWindowMessage);

Page 74: W pwith cinhindi

73

www.BccFalna.com

WindoWs Programming in C

}

blds Return Value dks lk/kkj.kr;k Ignore dj fn;k tkrk gSA MSG Structure esa ,d

Valid Message Value gksuh pkfg,A ;fn lpmsg Parameter WM_TIMER Message dks

Point djrk gS vkSj WM_TIMER dk lParam Parameter NULL gks] rks

DispatchMessage() Function Window Procedure ds LFkku ij ml Function dks Call djrk gS ftldks lParam Argument Point djrk gSA

Message dk og fgLlk ftls Windows Operating System Window Procedure dks Pass djrk gS] ,d eku gksrk gS tks fd Message ds Type dks Specify djrk gSA Window

Procedure bl eku dks Translate djrk gS vkSj irk yxkrk gS fd Message ds Response esa fdl Activity dks Perform djuk gSA Window Procedure ;k og Sub Routine ftls

Window Operating System Call djrk gS] og Function gksrk gS ftlesa fdlh Hkh Window Program dh lHkh Activities Perform gksrh gSaA ,d Window Procedure dk Prototype fuEukuqlkj gksrk gS %

LRESULT CALLBACK WindowProc ( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );

bl Procedure dk Traditional uke WndProc gSA ysfdu ge pkgsa rks WindowProc o WndProc nksuksa esa ls fdlh Hkh uke dks Use dj ldrs gSaA Windows bl ckr dk /;ku j[krk

gS fd ge Window Class dks Register djus ls igys Window Class ds Member Variable lpfnWndProc bl Procedure ds Address ls Initialize djsaA

blfy, ;fn ge bl Procedure dk uke MyWindowProcedure j[ksa] rks gesa Window Class ds Object ;k Instance ;k Variable dks bldk Address Initialize djuk gksrk gSA ekuk fd

ge Window Class dk ,d Instance NewWindow Create djrs gSa] rks gesa fuEukuqlkj bl

Procedure dk uke Window Class ds Variable lpfnWndProce dks Initialize djuk gksxk %

NewWindow.lpfnWndProc = MyWindowProcedure;

1. HWND hwnd

Page 75: W pwith cinhindi

74

www.BccFalna.com

WindoWs Programming in C

;g Parameter ml Window dk Handle gksrk gS ftlds fy, Operating System

Message nsrk gSA ,d Window Class ls Create fd, x, lHkh Window leku

Window Procedure dks Share djrs gSaA

gkykafd gekjs Application dk Main Window, Window Class dk ,d Single Instance ;k Variable gksrk gSA blfy, gekjk Main Window Procedure dsoy ,d gh Window ds

Message dks Handle djrk gSA fQj Hkh] ;fn ge fdlh Window Class tSls fd

BUTTON Class ds dbZ Instance Create djrs gSa] rks ge hwnd Parameter dks

CreateWindowEx() Function ls Return gksus okys Handle ds eku ls rqyuk djds irk

yxk ldrs gSa fd vkus okyk Message D;k ml Window Class ds Specific Window ds

fy, gS ;k ughaA ;gka ge ;gh eku dj py jgs gSa fd gekjs Main Application esa Window Class dk dsoy ,d gh Instance gekjk Main Window gSA

2. UINT uMsg 3. WPARAM wParam, 4. LPARAM lParam igyk Argument ,d Unsigned Integer Value gS tks Windows Operating System ls

vkus okys Messages ds izdkj dks Specify djrk gSA blesa fdlh Hkh Message dk ID

gksrk gSA Windows Operating System lSdMksa izdkj ds Messages Application dks Hkst

ldrk gSA ge bu Messages ds ekuksa dks window.h Header File ls izkIr dj ldrs gSaA

Messages dk Definition bl Header File esa “WM_” ls “kq: gksrk gSA ;gka WM dk eryc

Window Messages gksrk gSA T;knkrj dke esa vkus okys dqN Message Constants fuEukuqlkj gSa ftUgsa gekjs Application Window Procedure esa Hkstk tkrk gS %

$1 WM_CREATE; $2 WM_DESTROY; $3 WM_MOVE; $5 WM_SIZE; $6 WM_ACTIVATE; . . . . . . . . . $0F WM_PAINT; $10 WM_CLOSE; . . . . . . . . . $300 WM_CUT; $301 WM_COPY; $302 WM_PASTE;

Page 76: W pwith cinhindi

75

www.BccFalna.com

WindoWs Programming in C

$303 WM_CLEAR; $304 WM_UNDO;

bl List esa ge ns[k ldrs gSa fd Commonly Use gksus okys Messages ,d yxkrkj Øe esa

ugha gSaA okLro esa os dkQh nwj&nwj gSa vkSj blesa cgqr ls Messages gSaaA ;fn gesa bl List esa ls

fdlh fo”ks’k Message ds vuqlkj Program dks Execute djuk gks rks gesa Switch/Case Statements dks Use djuk gksrk gSA pwafd] dbZ Window Procedures dbZ Messages dks

Process djrs gSaA blfy, gesa if…else if dk iz;ksx djuk iMrk gSA

lParam o wParam esa fdlh Message ds ckjs esa Additional tkudkfj;ka gksrh gSaA mnkgj.k

ds fy, tc ge Mouse ls Click djrs gSa] rks uMsg Argument esa Click dk Message ID

gksrk gS vkSj wParam o lParam esa Click dh Additional Information tSls fd fdl

Coordinate ij Mouse dk Click gqvk gS vkSj fdl Button (Left Button, Right Button, Middle Button, Scroll Button vkfn) ls Click fd;k x;k gS] bl ckr dh tkudkjh gksrh gSA

Message Id o fofHkUu izdkj dh Additional Information dks window.h uke dh Header File esa Define fd;k x;k gSA

gj Window Procedure dbZ izdkj ds Messages dks Process djrk gSA Window Procedure esa if … else if o switch Statements dk iz;ksx djds uMsg Structure esa vkus

okys Messages ls Comparison fd;k tkrk gS vkSj dksbZ Message izkIr gksus ij ml

Message ds vuqlkj Window Procedure Processing djrk gSA lkekU;r;k ,d Window Procedure esa fuEukuqlkj dke gksrk gS %

uMsg Structure esa og Current Message gksrk gS] ftldh Processing ds fy, Operating System Windows Message dks Application esa Hkstrk gSA GetMessage API Function ls

Check fd;k tkrk gS] fd uMsg Structure esa Message gS ;k ughaA ;fn Message gksrk gS] rks DispatchMessage() API Function dks Call djds ml Message dks Handle djus okys

Codes dks Window Procedure esa [kkstk tkrk gSA

;fn Window Procedure esa ml Message dks Handle djus ds fy, Codes fy[ks x, gSa]

rks os Codes Execute gks tkrs gSa] vU;Fkk Default Processing ds fy, DefWindowProc() Function Execute gksrk gS vkSj Message dh Default Processing djrk gSA bl izfØ;k dks

ge fuEukuqlkj Window Procedure ds :i esa fy[k ldrs gSa %

MSG Message; ;s Application Message Queue ds MSG Structure dk Message Object gS] ftlesa Windows Operating System ls vkus okys fofHkUu izdkj ds Messages Store gksrs gSaA

Page 77: W pwith cinhindi

76

www.BccFalna.com

WindoWs Programming in C

MyWindowProcedure(NewWindowHandle, Message, OtherInfo1, OtherInfo1) { switch(Message) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(NewWindowHandle,Message,OtherInfo1,OtherInfo2); }

}

bl Procedure esa geus ,d u, Function PostQuitMessage() API o ,d u, Message WM_DESTROY dk iz;ksx fd;k gSA

WM_DESTROY Message tc fdlh Window dks Destroy fd;k tkrk gS ;kuh tc fdlh Window dks Close fd;k

tkrk gS] rc Windows Operating System ;s Message ml Application ds Window

Procedure dks Hkstrk gSA tc fdlh Window Procedure dks ;s Message feyrk gS rc og

Window Procedure Window dks Screen ls Remove djus ds ckn mls Destroy dj nsrk

gS ;kuh u’V dj nsrk gSA

;fn fdlh Application esa dbZ Window gksa] rks lcls igys ;g Message ml Window dks

Destroy djrk gS] ftlds fy, message dks Hkstk x;k gSA mlds ckn ;fn ml Window ds

dksbZ Child Window gksa] rks mUgsa Hkh Destroy dj nsrk gSA bl Message dks tks Hkh

Application Process djrk gS] ;s Message ml Application dks Zero Return djrk gSA

PostQuitMessage() API Function dk Prototype fuEukuqlkj gS %

void PostQuitMessage( int nExitCode );

tc gesa fdlh Application Window dks Close djuk gksrk gS] rc ge bl Function dk iz;ksx

djrs gSaA WM_DESTROY Message ds Response esa bl Function dks Use fd;k tkrk

gSA nExitCode Variable esa Application ds Exit gksus dk Code gksrk gSA WM_PAINT Message ds wParam Argument ds :i esa bl Value dk iz;ksx gksrk gSA

;s Function dksbZ eku Return ugha djrk gSA ;s Function Application ds Message Queue esa WM_QUIT Message Hkstrk gS vkSj rqjUr Return gks tkrk gSA ;s Function System dks

;s crkrk gS fd Application Quit gksuk pkgrk gSA

Page 78: W pwith cinhindi

77

www.BccFalna.com

WindoWs Programming in C

tc Window Procedure dks ;s Message Application Message Queue esa feyrk gS rks

Message loop Terminate gks tkrk gS vkSj Control Windows Operating System dks izkIr

gks tkrk gSA Windows Operating System dks Exit eku feyrk gS og eku WM_QUIT Message ds wParam Parameter dk gksrk gSA

Complete Window Program

vc ge ,d Complete Window cukus dk Program cuk jgs gSaA bl Program dks Run djus ij ;s Window Screen ij rc rd jgrk gS tc rd User Window ds Title Bar esa fLFkr Close Button dks Click ugha djrkA bl Window dks ge Minimize dj ldrs gSa]

Maximize dj ldrs gSa] Resize dj ldrs gSaA ;kuh fdlh Hkh lkekU; Window ds lkFk tks Hkh

izfØ;k dj ldrs gSa os lHkh dke ge bl Window ds lkFk dj ldrs gSaA

Program

#include <windows.h> //Prototype Declaration of MyWindowProcedure UDF long _stdcall MyWindowProcedure(HWND,UINT,UINT,slong); WNDCLASSEX NewWindow; //Global Object Declaration MSG Msg; int _stdcall WinMain( HINSTANCE hInstance, HINSTANCE hprevInstance, LPSTR lpCmdLine, int nShowCmd ) //Main Program Starting {

//Handle Variable of NewWindow Object or Instance HWND NewWindowHandle; //Window Class Initialization For NewWindow Instance NewWindow.cbSize = sizeof(WNDCLASSEX); NewWindow.style = CS_VREDRAW | CS_HREDRAW; NewWindow.lpfnWndProc = MyWindowProcedure;

Page 79: W pwith cinhindi

78

www.BccFalna.com

WindoWs Programming in C

NewWindow.cbClsExtra = NULL ; NewWindow.cbWndExtra = NULL ; NewWindow.hInstance = hInstance; NewWindow.hIcon = NULL ; NewWindow.hCursor = NULL ; NewWindow.lpszMenuName = NULL ; NewWindow.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); NewWindow.lpszClassName = "MyWindowClass"; NewWindow.hIconSm = NULL ; //Registration Of NewWindow Class To Operating System Windows RegisterClassEx(&NewWindow); //Creating Window and Getting Handle of //NewWindow in NewWindowHandle Variable NewWindowHandle = CreateWindowEx( NULL, "MyWindowClass", "My First Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); //Showing Window On The Screen ShowWindow(NewWindowHandle, nShowCmd); while(GetMessage(&Msg, NULL, 0, 0) > 0){ TranslateMessage(&Msg); DispatchMessage(&Msg); } return 0;

Page 80: W pwith cinhindi

79

www.BccFalna.com

WindoWs Programming in C

} long _stdcall MyWindowProcedure (HWND NewWindowHandle,UINT Message, UINT wParam, long lParam){ switch (Message) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(NewWindowHandle,Message,wParam,slParam); } return 0L; }

Page 81: W pwith cinhindi

80

www.BccFalna.com

WindoWs Programming in C

text and graPhiCs

in WindoWs

Using C

Page 82: W pwith cinhindi

1

How to Buy from BccFalna.com इस Website पर उपलब सभी Saleable Hindi EBooks के साथ “ADD TO CART” नाम का एक Button

Attached है। आप जो भी पुस क खर�दना चाह ेह�, उसके साथ Associated ADD TO CART Button को Click

कर े ह� वह पुस क आपके Shopping Cart म� Add हो जा ी है:

य�द आप अपने Shopping Cart म� कई पुस क� Add कर े ह�, ो Extra Discount पार हो ा है, जो �क

Discount Amount व Discount Amount घटाने के बाद सभी पुस क� के Total Payable Amount के रप म� इसी My Shopping Cart म� उपरोक �चतानुसार �दखाई दे ा है।

सभी वां�छ पुस क� अपने Shopping Cart म� Add करने के बाद अपना Order Place करने हे ु Checkout Button को Click करना हो ा है। प�रणामस वरप �नम नानुसार Checkout Page Display हो ा है, जहां आपको अपनी Billing Details को Specify करके अपना Payment Mode Select करना हो ा है:

Page 83: W pwith cinhindi

2

य�द आप इन पुस क� को खर�दने के �लए Total Payable Amount का भुग ान अपन ेDebit Card (ATM,

Credit Card), Cash Card अथवा Net Banking) दवारा घर बैैे करना चाह ेह�, ो आपको Online Payment Option Select करना हो ा है।

ले�कन य�द आपके पास �कसी पकार का CCAvenue Supported Debit Card (ATM, Credit Card) या Cash

Card नह�ं है, न ह� आपके पास �कसी Bank क� Internet या Mobile Banking सु�व ा है, ो उस िसथ� म� अपना Offline Order Place करने के �लए Offline Manual Payment Option को Select कर सक े ह�।

Page 84: W pwith cinhindi

3

Online Payment using CCAvenue

जब आप Online Payment Option को Select कर े हुए “Place order” Button पर Click कर े ह�, ो आपके

सामन े�नम नानुसार Page Display हो ा है:

अपनी सु�व ा अपन ेDebit Card (ATM, Credit Card), Net Banking, Cash Card या Mobile Payments

Option को Select क�िजए और उपरोक �चत म� द ाशए अनुसार सभी जरर� Payment Information को Fill

करके Make Payment Button पर Click क�िजए था आगे आने वाले Payment Security से सम बं� Step

(Login/Password/Pin) Follow क�िजए, ा�क आपका Total Payable Amount आपके Bank A/c से हमारे Bank

A/c म� Transfer हो सके।

Page 85: W pwith cinhindi

4

आपका Payment Transfer हो े ह� आप �नम न �चतानुसार My Account Page पर पहंुच जा े ह�, जहां पर आप

दवारा Order क� गई सभी पुस क� के Download Links हो ेह�, साथ ह� आपको Automatically एक Email भी Send कर �दया जा ा है, िजसम� आप दवारा खर�द� गई पुस क� के Download Links हो े ह�:

Page 86: W pwith cinhindi

5

Offline Payment using Manual Ways

जब आप Offline Manual Payment Option को Select कर ेहुए “Place order” Button पर Click कर े ह�, ो Click कर े ह� आपका Order Place हो जा ा है और आपके सामने �नम नानुसार Page Display हो ा है:

ये Webpage आप दवारा Place �कए गए Order क� Information के साथ ह� Order क� गई पुस क� के

Download Links पार करने के �लए Follow �कए जाने वाले अगले Step क� जानकार� भी दे ा है, साथ ह� इस Page पर �दखाई देन ेवाल� सार� Information आपको आपके Email पर भी Send कर द� जा ी है, िजन ह� Follow कर े हुए आप अपन ेTotal Payable Amount का Offline Manual Payment करके अपनी Order क� गई पुस क� के Download Links पार कर सक े ह�।

जब आप इस Offline Manual Payment Option को Select कर े हुए Order Place कर े ह�, ो आपका Order

ब क On-Hold Status म� रह ा है, जब क �क आप Offline Manual Payment Page पर Specified �कसी भी र�के का पयोग कर े हुए अपना Total Payable Amount, हमारे Bank A/c म� Transfer/Deposit नह�ं कर दे े।

अपना Total Payable Amount हमारे Bank A/c म� Transfer/Deposit करने के बाद आपको हमारे Mobile No.:

097994-55505 पर Call/Miss Call करके अपन ेPayment Transfer/Deposit करने से सम बं� जानकार� देनी हो ी है। जैसे ह� आपका Call/Miss Call हम� पार हो ा है, हम अपना Bank A/c Check कर े ह� और जैसे ह� आपका Payment हमारे Bank A/c म� Transfer/Deposit हो ा है, हम आप दवारा Order क� गई पुस क� का Download Link Manually Activate कर दे े ह�।

Page 87: W pwith cinhindi

6

प�रणामस वरप आपको Automatically एक EMail पार हो ा है, िजसम� आप दवारा Order क� गई सभी पुस क� के Download Links हो ेह�, िजन ह� आप अगले 48 घण ट� के दौरान Download कर सक ेह�। साथ ह� आपके

Download Links के Activate होने क� Information हम आपको Call/SMS के माध यम से भी दे े ह�।

जब�क अपने Order क� Current Status देखने के �लए आप Website के Menubar म� �दखाई देने वाले My

Account Menu Option पर Click कर सक े ह�, जहां आपके Order क� Current Status Information �नम न

�चतानुसार �दखाई दे ी है:

चंू�क ये सारा Process हम� व आपको Manually Follow करना हो ा है, इस�लए इस Offline Manual Payment

दवारा Order करने क� िसथ� म� पुस क� का Download Link पार होने म� 5 से 10 �मनट का समय लग ा है।

एक बार Download Link Activate हो जाने के बाद आप अपनी खर�द� गई पुस क� को अपन ेMy Account Page से भी Download कर सक े ह�, जहां Download Link Activate होने के बाद आपको अपना My Account

Page �नम न �चतानुसार �दखाई देने लग ा है:

Page 88: W pwith cinhindi

7

इसके अलावा �कसी Particular Order क� Details पार करन ेके �लए आप इस My Account Page पर �दखाई देने वाले View Button को भी Click कर सक ेह�।

Page 89: W pwith cinhindi

8

Offline Manual Methods to Pay “Total Payable Amount” viuk Total Payable Amount Pay djus ds fy, vki viuh lqfo/kkuqlkj fuEu esa ls fdlh Hkh rjhds dks Use dj ldrs gSa%

Fund Transfer Using ATM Machine orZeku le; esa yxHkx lHkh Banks viuh ATM Machine }kjk Fund Transfer djus dh lqfo/kk Provide djrs gSa] tgka vki vius ATM Card }kjk gekjs fdlh Hkh Bank Account esa viuh iqLrdksa dk Total Payable Amount Transfer dj ldrs gSaA vr% ;fn vkids ikl fuEu esa ls fdlh Hkh State Bank dk Debit Card gS%

• SBI (State Bank of India) • SBBJ (State Bank of Bikaner and Jaipur) • SBH (State Bank of Bikaner and Hyderabad) • SBP (State Bank of Bikaner and Patiala) • SBM (State Bank of Mysore) • SBT (State Bank of Travancore)

vFkok PNB (Punjab National Bank) ;k BOB (Bank of Baroda) dk Debit Card gS] rks vki SBI/PNB/BOB ds ATM Machine ls Hkh viuk Payment gekjs SBI/PNB/BOB Bank A/c esa Transfer dj ldrs gSaA ;fn vki SBI ATM Machine ls gekjs SBI Bank A/c esa Payment Transfer djuk pkgrs gSa] rks vkidks fuEu Steps dks Follow djuk gksrk gS% SBI ATM Machine esa viuk Debit Card, Swipe dhft,A ATM Screen ds Bottom Right Corner esa fn[kkbZ nsus okys Transfer uke ds Option dks

Select dhft,A vius Debit Card dk PIN Number Enter dhft,A vc Card to Card Transfer uke ds Option dks Select dhft,A vc gekjs SBI Debit Card Number (6220180786800030243) dks Enter dhft,A vc gekjs SBI Debit Card Number (6220180786800030243) dks nksckjk Enter dhft,A vc Transferable Amount ds :i esa Total Payable Amount Specify dhft,A vc vius Account Type (Savings or Checking) dks Select dhft,A mijksDr lHkh Steps lgh rjhds ls Follow gksus dh fLFkfr esa vkidk Transaction

Complete gks pqdk gS vkSj Total Payable Amount yxHkx rqjUr gekjs SBI Bank A/c esa tek gks tkrk gSA

Page 90: W pwith cinhindi

9

Bhd blh rjg ds Steps vkidks ml le; Hkh Follow djus gksrs gSa] tc vki PNB या BOB ds

ATM Machine ds ek/;e ls gekjs PNB Bank A/c esa Total Payable Amount, Card to Card Transfer djrs gSaA gkykafd vki HDFC, IDB, ICICI tSls dbZ vU; ATM Machines }kjk Hkh Card to Card Transfer dj ldrs gSa] ysfdu ;fn nksuksa Debit Cards leku Banks (PNB, SBI or BOB) ds u gksa] rks Transaction Perform gksus esa 24 ls 96 ?k.Vs dk le; yxrk gSA

blfy, bl fLFkfr esa csgrj ;gh gksrk gS fd ;fn vkids ikl Net Banking, Mobile Baking, AirTel Money ;k SBI/PNB/BOB Debit Card fdlh Hkh rjg dh lqfo/kk u gks] rks vki Total Payable Amount dk Payment djus ds fy, Cash Deposit rjhds dks gh Use djsa vFkok Bank esa tkdj NEFT Transfer Hkh dj ldrs gSa] ftlesa vkidk Payment vf/kdre 4 ?k.Vs ds njE;ku gekjs Bank A/c esa Deposit gks tkrk gSA

Payment Transfer Using Net-Banking ;fn vkids ikl Net-Banking dh lqfo/kk gS] rks vki Payment Transfer djus ds fy, vius Account esa Login djds fuEu esa ls fdlh Hkh Bank A/c esa Payment Deposit dj ldrs gSa%

Page 92: W pwith cinhindi

11

tc vki Net-Banking ds ek/;e ls Payment djuk pkgrs gSa] rks vkidks yxHkx 8 ls 24 ?k.Vs igys gekjs ml Account dks Beneficiary ds :i esa vius Bank A/c ls Link djuk iMrk gS] ftlesa vki Payment Transfer djuk pkgrs gSaA tc ,d ckj gekjk Bank Account Beneficiary ds :i esa Activate gks tkrk gS] mlds ckn vki ml Bank Account esa viuk Total Payable Amount Transfer dj ldrs gSaA

Pay with Mobile-Banking or AirTel Money ;fn vkius vius Mobile Number ij AirTel Money uke dh Service dks Activate fd;k gqvk gS] rks vki vius Mobile }kjk AirTel Money Account ds ek/;e ls Hkh gesa Payment dj ldrs gSaA tcfd ;fn vkius vius Bank ls Mobile Banking dh lqfo/kk dks Activate djok;k gqvk gS] rks vki vius Mobile }kjk gesa Mobile-Banking ds ek/;e ls Hkh Payment Transfer dj ldrs gSaA ;fn vki viuk Total Payable Amount Pay djus ds fy, AirTel Money ;k Mobile Banking Transfer lqfo/kk dks Use djrs gSa] rks vkidk Payment rqjUr gekjs Account esa Transfer gks tkrk gSA blfy, rqjUr EBooks izkIr djus gsrq Payment Transfer djus dk ;s lcls rst rjhdk gSA tcfd blds vykok tks nwljk lcls rst rjhdk gS] og ATM Machine }kjk Fund Transfer lqfo/kk dk mi;ksx djrs gq, Payment Transfer djuk gSA tcfd Internet-Banking ml fLFkfr esa dkQh /khek Process gS] tc vki igyh ckj Payment dj jgs gksrs gSa] D;ksafd First Time Payment djus ls igys vkidks Beneficiary ds :i esa gekjs fdlh ,d Bank Account dks vius Bank Account ls Link djuk iMrk gS vkSj bl Process esa Payment Transfer gsrq gekjk Bank Account Activate gksus esa de ls de 8 ls 24 ?k.Vs dk le; yxrk gSA gkykafd ,d ckj Account Activate gks tkus ds ckn vkidk Transfer rqjUr gks tkrk gSA

Page 93: W pwith cinhindi

12

tcfd Cash Deposit dk rjhdk lcls /khek rjhdk gS] tgka vki Bank Holidays dks Payment Deposit ugha dj ldrs vkSj Business Days esa Hkh Payment Deposit djus dk ,d fuf”pr le; 10PM to 4AM gksrk gSA

Cash Deposit in Bank Brach ;fn vkids ikl Net-Banking ;k Mobile-Banking dh lqfo/kk ugha gS] rks vki gekjs fdlh Hkh Bank A/c esa Total Payable Amount, Cash Deposit Hkh dj ldrs gSa vFkok vki Bank Branch esa tkdj NEFT Transfer ds ek/;e ls Hkh Payment dj ldrs gSa] tks fd Cash Deposit ds leku gh gksrk gSA

tc vki Direct Deposit djuk pkgrs gSa] rc vkidks vkids fdlh Hkh utnhdh Bank Branch esa tkdj ,d Payment Deposit Slip Fill-Up djuk gksrk gS] ftlesa vkidks gekjs fdlh Hkh Bank A/c dh Information dks Fill djuk gksrk gS] tcfd Payment Deposit djokus ds fy, mlh Bank esa vkidk Lo;a dk Account gksuk t:jh ugha gSA

mnkgj.k ds fy, ;fn vki gekjs SBI Bank A/c esa viuh Selected iqLrdksa dk Total Payable Amount Pay djus ds fy, Bank esa tkdj Direct Deposit djuk pkgrs gSa] rks vki tks Payment Deposit Slip Fill-Up djsaxs] og vxys fp=kuqlkj djuk gksrk gSA

Page 94: W pwith cinhindi

13

bl fp= }kjk vki le> ldrs gSa fd Payment, Direct Deposit djus ds fy, vkidks gekjs fdlh Bank A/c dh Information dks Payment Deposit Slip esa Specify djuk gksrk gS] blfy, ml Bank esa vkidk Lo;a dk Bank A/c gksuk t:jh ugha gksrkA

blh rjg ls ;fn vki pkgsa] rks gekjs fdlh Hkh Bank A/c esa Check }kjk Hkh Total Payable Amount dk Check Deposit dj ldrs gSaA ;kuh vki fdlh Hkh rjhds ls gekjs fdlh Hkh Bank A/c esa Total Payable Amount Deposit dj ldrs gSaA ysfdu ge Money-Order, Demand-Draft ;k Check tSls Manual ek/;eksa ls Payment Accept ugha djrs] D;ksafd bl rjg dk Payment Clear gksus esa cgqr le; yxrk gSA tcfd ATM Fund Transfer, Cash Deposit, Mobile Banking vFkok Net-Banking ds ek/;e ls rqjUr Payment Transfer gks tkrk gS] ftlls ge vkidks vkidh Purchased EBooks 10 ls 30 Minute ds njE;ku vkids Order esa Specified Email Address ij Send dj nsrs gSaA

viuk Payment djus ds fy, vki ftu Offline Manual rjhdksa dks mi;ksx esa ys ldrs gSa] mudh Detailed Information vki http://www.bccfalna.com/how-to-deposit-payment/ ls Hkh izkIr dj ldrs gSa] tgka vkidks Payment djus ls lEcaf/kr fdlh Hkh rjg dk Latest Update izkIr gksrk gSA

Pay with PayPal if you live Out Of India ;fn vki India esa ugha jgrs ysfdu ;s Hindi EBooks [kjhnuk pkgrs gSa] rks vki viuh okafNr iqLrdksa ds Total Payable Amount dk Hkqxrku gesa PayPal ds ek/;e ls [email protected] ij Hkh Send dj ldrs gSaA

pwafd International Payment Processing esa fofHkUu izdkj ds Extra Charges Pay djus gksrs gSa] blfy, PayPal ds ek/;e ls Payment djrs le; vkidks Total Payable Amount (In USD) + $2 dk Extra Payment Send djuk t:jh gksrk gSA

viuk Payment Send djus ds ckn vki vius Payment dh Information gesa SMS ;k Email ds ek/;e ls ns ldrs gSaA tSls gh vkidk Email/SMS gesa izkIr gksxk] vki }kjk Order dh xbZ iqLrdksa dk Download Link vkids Email Address ij ftruk tYnh lEHko gksxk] mruk tYnh Send dj fn;k tk,xkA

Page 95: W pwith cinhindi

14

Confirm the Payment tc vki viuh Order dh xbZ iqLrdksa dks [kjhnus ds fy, mijksDrkuqlkj fdlh Hkh Offline Manual rjhds ls “Total Payable Amount” gekjs fdlh Hkh Bank A/c esa Deposit/Transfer dj nsrs gSa] rks Payment Deposit/Transfer djrs gh vkidks gesa mlh Mobile Number ls ,d Call/Miss Call/SMS djuk gksrk gS] ftls vkius Order Place djrs le; “Order Form” esa Specify fd;k FkkA

blh Mobile Number ds ek/;e ls gesa irk pyrk gS fd vkius fdu iqLrdksa ds fy, dkSulk Order fd;k gS vkSj mudk Total Payable Amount fdruk gSA lkFk gh gesa ;s Hkh irk py tkrk gS fd vki }kjk Purchase dh tk jgh iqLrdsa fdl Email Address ij Send djuh gSA

vkids Total Payable Amount dks ge Net-Banking ds ek/;e ls vius Bank A/c esa Check djrs gSa vkSj ;fn vkidk Total Payable Amount gekjs fdlh Hkh Bank A/c esa Deposit/Transfer gqvk gksrk gS] rks ge vkidks 10 Minute ds njE;ku vkidh Order dh xbZ EBooks vkids Email Address ij Send dj nsrs gSa] ftls vki vxys 2 fnuksa esa dHkh Hkh Download dj ldrs gSaA

Page 96: W pwith cinhindi

15

If you have any problem ;fn iqLrds a [kjhnus ls lEcaf/kr fdlh Hkh izdkj dh dksbZ ckr vkidks Bhd ls le> esa u vkbZ gks ;k fdlh Hkh rjg dk Confusion gks] rks vki 097994-55505 ij Call/Miss Call/SMS dj ldrs gSaA ;Fkk lEHko rqjUr vkidh leL;k dk lek/kku fd;k tk,xkA pwafd ;s lkjh iqLrdsa PDF Format Softcopy Ebooks gSa blfy, bu iqLrdksa dk Download Link vkidks vkids Email ij gh Send fd;k tkrk gS ] ftUgsa Click djrs gh ;s iqLrds a vkids Computer ij Download gksuk “kq: gks tkrh gSaA

,d ckj bu iqLrdksa dks Download djus ds ckn vki bUgsa fdlh Hkh PDF Supported Computer, Mobile, Smart Phone, Tablet PC, Net-Book, Notebook ;k Laptop tSlh Device ds ek/;e ls i< ldrs gSa vFkok ;fn vki pkgsa] rks vius Printer }kjk bu iqLrdksa dk Hard Copy Printout fudky ldrs gSaA pwafd bu iqLrdksa ds Download Links vkidks vkids Email Address ij gh izkIr gksrs gSa] blfy, t:jh gS fd mijksDr “Order Form” ij vki viuk tks Email Address o Mobile Number Specify djrs gSa] og Working vkSj ,dne lgh gksA D;ksafd fdlh Hkh rjg dh ijs”kkuh gksus dh fLFkfr esa ge vkidks vkids Mobile Number vFkok Email Address }kjk gh Contact djrs gSaA