资源描述:
《利用api函数实现vb特殊窗体的两种方法(two methods of using api function to implement vb special form)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、利用api函数实现vb特殊窗体的两种方法(TwomethodsofusingAPIfunctiontoimplementVBspecialform)TwomethodsofusingAPIfunctiontoimplementVBspecialformIntheVBintegrateddevelopmentenvironment(IDE),thenewandaddedformsarerectangularwhenyoudesigntheprogram.Ifyouwantaformtoshowaspecialshapeatruntime,youmustuset
2、heAPIfunctiontowritethecorrespondingcode.[method]usingzonecreationfunctionThecommonlyusedzonecreationfunctionsare:CreateEllipticRgn'createanellipseoracircleCreateRoundRectRgnCreatearoundedrectangleareaCreatePolygonRgnCreatearegionsurroundedbyaseriesofpointsCombineRgn'combinethetwor
3、egionsintoanewareaSetWindowRgn'setnewwindowarea.Theunion,intersectionandcombinationwithCombineRgncantaketworegions,thuscreatingacomplicatedshapeandform.Forexample,thefollowingproceduresaretoformtheshapeoftwoconnectedcrescent:Routine1OptionExplicit'APIstatementPrivateDeclareFunction
4、CreateEllipticRgnLib"gdi32"_ByValx1AsLongByValY1AsLong,_ByValx2AsLong,ByValY2AsLong)AsLongPrivateDeclareFunctionCombineRgnLib"gdi32"_ByVal(hDestRgnAsLongByValhSrcRgn1,AsLong,_ByValhSrcRgn2AsLong,ByValnCombineModeAsLong)AsLongPrivateDeclareFunctionSetWindowRgnLib"user32"_ByVal(hWndA
5、sLongByValhRgn,AsLong,_ByValbRedrawAsBoolean)AsLongConstantdeclarationConstRGN_XOR=3PrivateSubForm_Load()DimRgn1,Rgn2Rgn1=CreateEllipticRgn(100,100,400,400)Rgn2=CreateEllipticRgn(200,100,500,400)CombineRgnRgn1,Rgn1,Rgn2,RGN_XORSetWindowRgnhWnd,Rgn1,1EndSub[methodtwo]useBeginPath,En
6、dPath,TextOut,PathToRegionandotherfunctionsTheBeginPathfunctioncalltostartabranchpath,intheimplementationofthecommandGDIdrawingcommandwillautomaticallybecomeapartofthepath,thepathfunctionoflegalWindows95textinthedrawingfunctionofTextOut,Polygonandotherfunctionstodrawapolygon.TheEnd
7、Pathfunctionterminatesthedefinitionofapath.Ifthecallissuccessful,allthedrawingoperationsbetweentheBeginPathfunctionanditwilltakeeffectinthepathofthespecifieddevicescene.TheBeginPathfunctiongenerallyappearsinpairswiththeEndPathfunction.ThePathToRegionfunctioncallconvertsthecurrently
8、selectedpathtothespecified