Mini Kabibi Habibi

Current Path : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/samples/solution/tahoe/
Upload File :
Current File : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/samples/solution/tahoe/oledd.sct

9=VERSION =   3.00dataenvironmentdataenvironmentDataenvironmentLLeft = 251
Top = 242
Width = 520
Height = 200
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 10
Top = 20
Width = 95
Height = 90
Alias = "customer"
Database = ..\..\data\testdata.dbc
CursorSource = "customer"
Name = "Cursor1"
22frmsolution..\solution.vcxformfrmOLEDD�Height = 310
Width = 492
DoCreate = .T.
OLEDropMode = 1
Caption = "Fun with OLE Drag and Drop"
Visible = .T.
HelpContextID = 237
namecounter = 1
Name = "frmOLEDD"
C_solutions1.Top = 276
C_solutions1.Left = 48
C_solutions1.Name = "C_solutions1"
Behindscenes1.Top = 276
Behindscenes1.Left = 12
Behindscenes1.TabIndex = 9
Behindscenes1.ZOrderSet = 2
Behindscenes1.Name = "Behindscenes1"
Shape2.Top = 12
Shape2.Left = 12
Shape2.Height = 36
Shape2.Width = 468
Shape2.ZOrderSet = 3
Shape2.Name = "Shape2"
Label1.Caption = "Try dragging and dropping between various controls and sources. "
Label1.Height = 18
Label1.Left = 24
Label1.Top = 24
Label1.Width = 420
Label1.TabIndex = 10
Label1.ZOrderSet = 4
Label1.Name = "Label1"
Label4.TabIndex = 12
Label4.ZOrderSet = 5
Label4.Name = "Label4"
Cmdclose1.Top = 276
Cmdclose1.Left = 408
Cmdclose1.TabIndex = 11
Cmdclose1.ZOrderSet = 6
Cmdclose1.Name = "Cmdclose1"
	�PROCEDURE Init
DODEFAULT()
AFIELDS(This.FieldInfo)
GO TOP

ENDPROC
PROCEDURE OLEDragDrop
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
LOCAL oSource, cType, cName, oNewObj, lCreatedObject, lSize, nField, nRow, cSaveExact

IF oDataObject.GetFormat("VFP Source Object")
	oSource = oDataObject.GetData("VFP Source Object")
	IF oSource.Name == "lstFields"
		lCreatedObject = .T.
		lSize = .F.
		cType = TYPE( Thisform.lstFields.Value )
		cName = "obj" + TRANS(Thisform.NameCounter)
		Thisform.NameCounter = Thisform.NameCounter + 1
		cSaveExact = SET("EXACT")
		SET EXACT ON
		nField = ASCAN( Thisform.FieldInfo, upper(Thisform.lstFields.List( Thisform.lstFields.ListIndex )))
		nRow   = ASUBSCRIPT( Thisform.FieldInfo,nField,1)
		cType  = Thisform.FieldInfo[nRow,2]
		SET EXACT &cSaveExact
		DO CASE
		CASE cType == "C"
			This.AddObject(cName,"Textbox")
			lSize = .T.
			
		CASE cType == "N"
			This.AddObject( cName, "Textbox" )
			lSize = .T.
			
		CASE cType == "Y"
			This.AddObject( cName, "Textbox" )
			lSize = .T.
			
		CASE cType == "D"
			This.AddObject( cName, "Textbox" )
			lSize = .T.
			
		CASE cType == "T"
			This.AddObject( cName, "Textbox" )
			lSize = .T.
			
		CASE cType == "L"
			This.AddObject( cName, "Checkbox" )
			lSize = .F.
			
		CASE cType == "M"
			This.AddObject( cName, "Editbox" )
			lSize = .F.
			
		CASE cType == "G"
			This.AddObject( cName, "OLEBoundControl" )
			lSize = .F.

		OTHERWISE
			lCreatedObject = .F.
		ENDCASE

		IF lCreatedObject
			oNewObj = This.&cName.

			WITH oNewObj
				.ControlSource = Thisform.FieldInfo[nRow,1]
				.OLEDragMode = 1	&&DRAG_AUTOMATIC
				.Top = int( nYCoord / 7 ) * 7
				.Left = int( nXCoord / 7 ) * 7
				
				IF lSize and (nField <> 0)
					.Width = Thisform.FieldInfo[nRow,3] * FontMetric(6,"MS Sans Serif",8)+5
				ENDIF
				
				.Visible = .T.
			ENDWITH
			Thisform.Setall("Visible", .F., "Line")
			This.Refresh
		ENDIF
		
	ELSE
		oSource = oDataObject.GetData("VFP Source Object")
		oSource.Left = nXCoord
		oSource.Top = nYCoord
	ENDIF
ENDIF

ENDPROC
PROCEDURE OLEDragOver
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState

DO CASE
CASE nState == 0	&& Drag Enter
	IF oDataObject.GetFormat('VFP Source Object')
		This.OLEDropHasData = 1
		This.OLEDropEffects = 2	&&DROPEFFECT_MOVE
	ENDIF
CASE nState == 1	&& Drag Leave
CASE nState == 2	&& Drag Over
ENDCASE

ENDPROC
	�� 		V�%��R��U 	��C����C�����#)�UTHIS	FIELDINFO���������'�����	�
���
��%%�C�VFP Source Object������%T��C�VFP Source Object����%����	lstFields����T�
�a��T��-��T��C���b��T���objC��_��T��������T��C�EXACTv��G �(T��C��CC������f���T�
�C�������T��C�
�����SET EXACT &cSaveExact

H���y����C������C��Textbox����T��a�����N��
���C��Textbox����T��a�����Y��E���C��Textbox����T��a�����D��}���C��Textbox����T��a�����T������C��Textbox����T��a�����L������C��Checkbox����T��-�����M��&���C��Editbox����T��-�����G��f�#��C��OLEBoundControl����T��-��2�y�T�
�-���
%��
����oNewObj = This.&cName.

���	��h�T��C�
�����T�����T��C��8���T��C��8���%���	��	��X�7T��C�
���C��
MS Sans Serif��$����T� �a������C�Visible-�Line��!��
���"�����%T��C�VFP Source Object����T������T��������U#ODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDOSOURCECTYPECNAMEONEWOBJLCREATEDOBJECTLSIZENFIELDNROW
CSAVEEXACT	GETFORMATGETDATANAMETHISFORM	LSTFIELDSVALUENAMECOUNTER	FIELDINFOLIST	LISTINDEXTHIS	ADDOBJECT
CONTROLSOURCEOLEDRAGMODETOPLEFTWIDTHVISIBLESETALLREFRESH����������
H�,����������%%�C�VFP Source Object������T��	����T��
��������������������UODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDNSTATE	GETFORMATTHISOLEDROPHASDATAOLEDROPEFFECTSInit,��OLEDragDropa��OLEDragOver���1��Q3�qRQ���Q�qAa�����!��"��"��"��"��"��"��"1���A��������qA�A��A�QAA3��QAA2>`ZG|�	Y)	namecounter
^fieldinfo[1,0] 
listboxlistbox	lstFieldsfrmOLEDD�OLEDragMode = 1
FontName = "MS Sans Serif"
FontSize = 8
RowSourceType = 8
RowSource = "customer"
Height = 108
Left = 12
Top = 76
Width = 120
Name = "lstFields"
pPROCEDURE OLEStartDrag
LPARAMETERS oDataObject, nEffect
Thisform.Setall( "Visible", .T., "Line" )

ENDPROC
�� ���A%����U-������C�Visiblea�Line����UODATAOBJECTNEFFECTTHISFORMSETALLOLEStartDrag,��1��2e)�
commandbutton
commandbuttoncmdDragfrmOLEDD�OLEDragMode = 1
OLEDragPicture = dragmecmd.bmp
OLEDropMode = 1
Top = 60
Left = 408
Height = 23
Width = 72
FontName = "MS Sans Serif"
FontSize = 8
Caption = "Drag Me"
Name = "cmdDrag"
�PROCEDURE OLEDragOver
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState
This.OLEDropHasData = 0

ENDPROC
8�� �%����U2���������T������U	ODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDNSTATETHISOLEDROPHASDATAOLEDragOver,��1�2})labellabelLbl1frmOLEDD�FontName = "MS Sans Serif"
FontSize = 8
Caption = "Drop text here to see the text reversed"
Height = 15
Left = 144
Top = 60
Width = 244
Name = "Lbl1"
textboxtextboxtxtDropfrmOLEDD}OLEDropMode = 1
FontName = "MS Sans Serif"
FontSize = 8
Height = 21
Left = 144
Top = 76
Width = 252
Name = "txtDrop"
uPROCEDURE OLEDragDrop
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
LOCAL i, cText, cNewStr

If oDataObject.Getformat(1)	&&CF_TEXT
	cText = oDataObject.GetData(1)

	*-- Reverse the text
	cNewStr = ""
	FOR i = len( cText ) to 1 STEP -1
		cNewStr = cNewStr + substr( cText, i, 1 )
	NEXT
	This.Value = cNewStr
endif

NODEFAULT

ENDPROC
�� ��zc%T�
i�U��������������%�C���	����T��C���
��
T����� ���C�>�(�����������T���C���\����T���������U
ODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDICTEXTCNEWSTR	GETFORMATGETDATATHISVALUEOLEDragDrop,��1��BA��AAB2j)�listboxlistboxlstFilesfrmOLEDD�OLEDragMode = 1
OLEDropMode = 1
FontName = "MS Sans Serif"
FontSize = 8
Height = 60
Left = 144
TabIndex = 2
Top = 124
Width = 252
ItemTips = .T.
Name = "lstFiles"
�PROCEDURE OLEDragOver
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState

DO CASE
CASE nState == 0		&&DRAG_ENTER
	DO CASE
	CASE oDataObject.GetFormat("OLE Variant Array")	&& Array
		This.OLEDropHasData = 1		&&DROPHASDATA_USEFUL
		This.OLEDropEffects = 1+2	&&DROPEFFECT_COPY + DROPEFFECT_MOVE
		
	CASE oDataObject.GetFormat(1)				&& Text
		This.OLEDropHasData = 1		&&DROPHASDATA_USEFUL
		This.OLEDropEffects = 1+2	&&DROPEFFECT_COPY + DROPEFFECT_MOVE
		
	CASE oDataObject.GetFormat(15)				&& Files CF_HDROP
		This.OLEDropHasData = 1		&&DROPHASDATA_USEFUL
		This.OLEDropEffects = 4		&&DROPEFFECT_LINK
	OTHERWISE
		This.OLEDropHasData = 0		&&DROPHASDATA_NOTUSEFUL
	ENDCASE

CASE nState == 1	&& Drag Leave
CASE nState == 2	&& Drag Over
ENDCASE

ENDPROC
PROCEDURE OLEDragDrop
LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
LOCAL aValues, i, cText, nOperation

*-- Check to see whether the user wants to copy or move
IF nShift == 1
	nOperation = 1	&&DROPEFFECT_COPY
ELSE
	nOperation = 2	&&DROPEFFECT_MOVE
ENDIF

Thisform.LockScreen = .T.

DO CASE
CASE oDataObject.GetFormat("OLE Variant Array")
	DIMENSION aValues[ 1 ]
	oDataObject.GetData("OLE Variant Array", @aValues )

	*-- Add each array element as 
	FOR i = 1 to alen(aValues,1)	&& for each row in the array
		IF (alen(aValues,2) > 1)
			This.AddItem( aValues[m.i,1])
		ELSE
			This.AddItem( aValues[m.i])
		ENDIF
	NEXT

CASE oDataObject.GetFormat(1)		&& Text
	cText = oDataObject.GetData(1)

	*-- Add the text as a new item in the list
	This.AddItem( cText )

CASE oDataObject.GetFormat(15)	&& Files CF_DROP
	DIMENSION aValues[1]
	oDataObject.GetData(15, @aValues )
	
	*-- Add each filename as a new item in the list
	FOR i = 1 to alen(aValues)
		This.AddItem(aValues[m.i])
	NEXT
ENDCASE

Thisform.LockScreen = .F.

*-- Set the nEffect parameter for communication back to the source object
nEffect = nOperation
ENDPROC
��� rrf%�5��U<���������
H�,�5�������
H�J��%�C�OLE Variant Array������T��	����T��
�����C�������T��	����T��
�����C�������T��	����T��
����2��T��	����������$������5��UODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDNSTATE	GETFORMATTHISOLEDROPHASDATAOLEDROPEFFECTS�������������	�%�����L�
T�	�����a�
T�	�����T�
��a��
H�����%�C�OLE Variant Array����M�
�����%��C�OLE Variant Array���
�������(�C����I�%�C�����&���CC�
��������E���CC�
����������C�������T��C���
����C������C�������
�������C����
�������(�C�������CC�
���������T�
��-��
T���	��UODATAOBJECTNEFFECTNBUTTONNSHIFTNXCOORDNYCOORDAVALUESICTEXT
NOPERATIONTHISFORM
LOCKSCREEN	GETFORMATGETDATATHISADDITEMOLEDragOver,��OLEDragDrop���1���QBB�AA3�1���A��Q�Q����qAABAB�A�qAA��16�)rlabellabellblTextfrmOLEDD�FontName = "MS Sans Serif"
FontSize = 8
WordWrap = .T.
Caption = "Drop files here from the Windows Explorer"
Height = 15
Left = 144
Top = 108
Width = 252
TabIndex = 1
Name = "lblText"
labellabelLbl2frmOLEDD�FontName = "MS Sans Serif"
FontSize = 8
Caption = "Drag items to form"
Height = 15
Left = 12
Top = 60
Width = 103
Name = "Lbl2"
JArial, 0, 9, 5, 15, 12, 21, 3, 0
MS Sans Serif, 0, 8, 5, 13, 11, 11, 2, 0
�Height = 310
Width = 492
DoCreate = .T.
OLEDropMode = 1
Caption = "Fun with OLE Drag and Drop"
Visible = .T.
HelpContextID = 1231622
namecounter = 1
Name = "frmOLEDD"
C_solutions1.Top = 276
C_solutions1.Left = 48
C_solutions1.Name = "C_solutions1"
Behindscenes1.Top = 276
Behindscenes1.Left = 12
Behindscenes1.TabIndex = 9
Behindscenes1.ZOrderSet = 2
Behindscenes1.Name = "Behindscenes1"
Shape2.Top = 12
Shape2.Left = 12
Shape2.Height = 36
Shape2.Width = 468
Shape2.ZOrderSet = 3
Shape2.Name = "Shape2"
Label1.Caption = "Try dragging and dropping between various controls and sources. "
Label1.Height = 18
Label1.Left = 24
Label1.Top = 24
Label1.Width = 420
Label1.TabIndex = 10
Label1.ZOrderSet = 4
Label1.Name = "Label1"
Label4.TabIndex = 12
Label4.ZOrderSet = 5
Label4.Name = "Label4"
Cmdclose1.Top = 276
Cmdclose1.Left = 408
Cmdclose1.TabIndex = 11
Cmdclose1.ZOrderSet = 6
Cmdclose1.Name = "Cmdclose1"