--------------------------------------------------------------------------------
[ENHANCED] VFP 9.0 FIX - THE PRINT BUTTON IN THE PRINT PREVIEW TOOLBAR
January 2026
--------------------------------------------------------------------------------
CCB
1. BUG:
In vfp9 (and vfp6, vfp7, vfp8), it will ALWAYS enable the Print button in the Print Preview toolbar.
2. CAUSE:
There are some BUGs in the following code.
3. RESOLUTION:
We can write some code to fix the BUG.
Label623f4e ::
lea edx , dword ptr [ ebp + 100 ] ;0x00623f4e : 8d5564
lea eax , dword ptr [ ebp - 60 ] ;0x00623f51 : 8d45c4
call Fun42c27f ;0x00623f54 : e82683e0ff
push esi ;0x00623f59 : 56
push eax ;0x00623f5a : 50
call Fun42c2be ;0x00623f5b : e85e83e0ff
cmp eax , esi ;0x00623f60 : 3bc6
pop ecx ;0x00623f62 : 59
pop ecx ;0x00623f63 : 59
mov dword ptr [ ebp + 112 ] , eax ;0x00623f64 : 894570
jne Label623f96 ;0x00623f67 : 752d
;
; ---------------------------------------------------------------------
; VFP 9.0 FIX - THE PRINT BUTTON IN THE PRINT PREVIEW TOOLBAR
; October 2018
; ---------------------------------------------------------------------
; CCB
;
; In vfp9, it will ALWAYS enable the Print button in the Print Preview toolbar.
; In VFP Advanced, it can enable or disable the Print button in the Print Preview toolbar.
;
; 2018/10/10, by ccb
;
cmp dword ptr vfpa_reportform_isreportform,00h
je Label623f69
cmp byte ptr [ Data93c280 ] , 05Ah
jae Label623f69
call vfpa_setprintbutton
Label623f69 ::
push esi ;0x00623f69 : 56
pushd 0FFFFB106h ;0x00623f6a : 6806b1ffff
push edi ;0x00623f6f : 57
call Fun4a082d ;0x00623f70 : e8b8c8e7ff
push esi ;0x00623f75 : 56
pushd 0FFFFB111h ;0x00623f76 : 6811b1ffff
push edi ;0x00623f7b : 57
call Fun4a082d ;0x00623f7c : e8acc8e7ff
push dword ptr [ ebp + 104 ] ;0x00623f81 : ff7568
mov eax , dword ptr [ ebp + 124 ] ;0x00623f84 : 8b457c
push dword ptr [ eax + 01F8h ] ;0x00623f87 : ffb0f8010000
push eax ;0x00623f8d : 50
call Fun6237ca ;0x00623f8e : e837f8ffff
mov dword ptr [ ebp + 120 ] , eax ;0x00623f93 : 894578
Now In VFP Advanced, it can enable or disable the Print button in the Print Preview toolbar.
In vfp9 and VFP Advanced, if we set ReportBehavior 90,
we can also use the ReportPreview.AllowPrintfromPreview property to enable or disable the Print button in the Print Preview toolbar.
4. APPLIES TO:
VFP 6.0.8167.0
VFP 6.0.8961.0 (SP5)
VFP 7.0.0.9262
VFP 7.0.0.9465 (SP1)
VFP 8.0.0.2521
VFP 8.0.0.3117 (SP1)
VFP 9.0.0.2412
VFP 9.0.0.3504 (SP1)
VFP 9.0.0.4611 (SP2)
VFP 9.0.0.5015 (SP2)
VFP 9.0.0.5411 (SP2)
VFP 9.0.0.5721 (SP2)
VFP 9.0.0.5815 (SP2)
VFP 9.0.0.6303 (SP2)
VFP 9.0.0.6602 (SP2)
VFP 9.0.0.7423 (SP2)
The bug has been fixed in VFP Advanced.
5. REFERENCE WEBSITES:
1, baiyujia.com:
http://www.baiyujia.com
http://www.baiyujia.com/vfpdocuments/f_vfp9fix52.asp
2, microsoft.com:
https://social.msdn.microsoft.com/forums/en-US/4cd61f4c-bc29-4f86-839b-ac8afa278149/print-preview-toolbar-vfp6
https://support.microsoft.com/zh-cn/help/895279/how-to-prevent-printing-from-a-report-preview-in-visual-foxpro-9-0
https://social.msdn.microsoft.com/Forums/en-US/416cc5fb-34ab-4945-a028-7d5327409550/close-button-on-print-preview-toolbar
3, foxite.com:
http://weblogs.foxite.com/vfpimaging/2008/04/11/how-to-disable-print-button-in-report-preview/
https://www.foxite.com/archives/vfp-6-print-preview-toolbar-0000016389.htm
https://www.foxite.com/archives/remove-print-button-in-preview-toolbar-0000199754.htm
https://www.foxite.com/archives/control-print-preview-toolbar-0000163281.htm
https://www.foxite.com/archives/how-to-find-out-whether-a-report-is-printed-in-vfp-0000030631.htm
https://www.foxite.com/archives/hide-print-button-on-preview-toolbar-0000326680.htm
https://www.foxite.com/archives/hide-print-icon-from-print-preview-tool-0000157331.htm
https://www.foxite.com/archives/how-to-disable-print-features-from-print-preview-0000058156.htm
https://www.foxite.com/archives/how-to-remove-printer-icon-in-printer-preview-0000043652.htm
4, computer-programming-forum.com:
http://computer-programming-forum.com/2-vfp/32bed8f6a57d74fc.htm
5, devx.com:
http://www.devx.com/tips/Tip/24552
6. OTHER:
For reference only, there is no guarantees.
Any questions or suggestions, please send me an email at ccb2000@163.com.
|