| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1121 人关注过本帖, 1 人收藏
标题:VFP的软“BUG”,怎么突破限制?
只看楼主 加入收藏
kangss
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:272
专家分:604
注 册:2014-6-12
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:27 
VFP的软“BUG”,怎么突破限制?
图片附件: 游客没有浏览图片的权限,请 登录注册

VFP的软“BUG”,怎么突破限制?
搜索更多相关主题的帖子: BUG 限制 VFP 
2024-04-26 10:29
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:4 
何必跟它死磕,换用微软的公用对话框(),调用它的 ShowFont 方法得了
不喜 ocx 的话,用 ChooseFont api 也行

[此贴子已经被作者于2024-4-26 20:20编辑过]


这家伙很懒,啥也没留下
2024-04-26 12:33
easyppt
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:302
专家分:696
注 册:2021-11-24
收藏
得分:4 
二楼能看到图片?
我为什么看不到
2024-04-26 14:16
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:4 
回复 3楼 easyppt
用edge可看
2024-04-26 15:52
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:317
专家分:448
注 册:2019-10-11
收藏
得分:4 
这个没办法,如果需要字号大于127,单独搞个text记录
或者你可以在后台自动翻倍,比如选择10,自动乘2,相当于20,这样最大就可以达到254了
2024-04-26 16:13
easyppt
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:302
专家分:696
注 册:2021-11-24
收藏
得分:0 
以下是引用laowan001在2024-4-26 15:52:39的发言:

用edge可看


用EDGE登录,确实可以看到了,谢谢 !

用2楼的方法代码:
loFont = createobject('')
loFont.ShowFont()
messagebox(loFont.fontsize)

2024-04-27 08:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:4 
以下是引用easyppt在2024-4-26 14:16:55的发言:

二楼能看到图片?
我为什么看不到

可能是“证书”的问题
如果点击图标或复制图片连接打开,有提示 bbs_bccn_net.bccnsoft.com 字样时,点击页面空白处并键入thisisunsafe 返回原图片页面就可以。




2024-04-27 10:11
kangss
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:272
专家分:604
注 册:2014-6-12
收藏(1)
得分:0 
以下是引用easyppt在2024-4-27 08:34:47的发言:



用EDGE登录,确实可以看到了,谢谢 !

用2楼的方法代码:
loFont = createobject('')
loFont.ShowFont()
messagebox(loFont.fontsize)

非常感谢楼上各位的回答。百度半天windows api,看代码太复杂太难了。这个方法确实高级。谢谢!
2024-04-27 19:42
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:0 
以下是引用kangss在2024-4-27 19:42:40的发言:
百度半天windows api,看代码太复杂太难了。这个方法确实高级。谢谢!

现成的,很容易改成自己的增强型 GetFont 函数
https://


[此贴子已经被作者于2024-4-27 23:02编辑过]


这家伙很懒,啥也没留下
2024-04-27 22:59
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:317
专家分:448
注 册:2019-10-11
收藏
得分:0 
**代码就是上面网站里的
**不知道默认字体大小在哪里设置?
clea
DECLARE INTEGER ChooseFont IN comdlg32 STRING @lpcf
DECLARE INTEGER GlobalFree IN kernel32 INTEGER hMem
DECLARE INTEGER GlobalAlloc IN kernel32;
    INTEGER wFlags,;
    INTEGER dwBytes

#DEFINE LF_FACESIZE               32
#DEFINE FW_NORMAL                400
#DEFINE DEFAULT_CHARSET            1
#DEFINE OUT_DEFAULT_PRECIS         0
#DEFINE CLIP_DEFAULT_PRECIS        0
#DEFINE DEFAULT_QUALITY            0
#DEFINE DEFAULT_PITCH              0
#DEFINE CF_SCREENFONTS             1
#DEFINE CF_INITTOLOGFONTSTRUCT    64
#DEFINE CF_EFFECTS               256
#DEFINE CF_FORCEFONTEXIST      65536

LOCAL lcChooseFont, lcLogFont, hLogFont, lcFontFace
lcLogFont = bintoc(16,"rs") +;
    bintoc(0,"rs")  +;
    bintoc(0,"rs")  +;
    bintoc(0,"rs")  +;
    bintoc(FW_NORMAL,"rs") +;  &&粗体900,常规400
    Chr(0) +;  &&斜体
    Chr(0) +;  &&下划线
    Chr(0) +;  &&删除线
    Chr(DEFAULT_CHARSET)     +;
    Chr(OUT_DEFAULT_PRECIS)  +;
    Chr(CLIP_DEFAULT_PRECIS) +;
    Chr(DEFAULT_QUALITY)     +;
    Chr(DEFAULT_PITCH)       +;
    PADR("Times New Roman"+Chr(0),32)  &&字体名称
lnLogFontSize = 60
hLogFont = GlobalAlloc(0, lnLogFontSize)
= SYS(2600,hLogFont, lnLogFontSize, lcLogFont)
lcChooseFont = bintoc(60,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(hLogFont-2^31,"r") +;
    BINTOC(4000,"rs") +;  &&字体大小,好像是这里但没起作用
    bintoc(CF_SCREENFONTS + CF_EFFECTS +CF_INITTOLOGFONTSTRUCT + CF_FORCEFONTEXIST,"rs") +;
    bintoc(RGB(255,0,0),"rs") +;  &&颜色
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs") +;
    bintoc(0,"rs")

IF ChooseFont (@lcChooseFont) <> 0
    lcLogFont=SYS(2600,hLogFont, lnLogFontSize)
    ? "*** CHOOSEFONT Structure:"
    ? "Point size:", CTOBIN(SUBSTR(lcChooseFont, 17,4),"rs")/10
    ? "RGB color: ", ctobin(SUBSTR(lcChooseFont, 25,4),"rs")

    ?
    ? "*** LOGFONT Structure:"
    ? "Font Weight:", ctobin(SUBSTR(lcLogFont, 17,4),"rs")
    ? "Italic:     ", Iif(Asc(SUBSTR(lcLogFont, 21,1))=0, "No","Yes")
    ? "Underline:  ", Iif(Asc(SUBSTR(lcLogFont, 22,1))=0, "No","Yes")
    ? "Strikeout:  ", Iif(Asc(SUBSTR(lcLogFont, 23,1))=0, "No","Yes")

    lcFontFace = SUBSTR(lcLogFont, 29)
    lcFontFace = SUBSTR(lcFontFace, 1, AT(Chr(0),lcFontFace)-1)
    ? "Font Face:  ", lcFontFace
ENDIF

= GlobalFree (hLogFont)
RETURN
**不知道默认字体大小在哪里设置?
收到的鲜花
  • kangss2024-04-29 20:06 送鲜花  1朵   附言:十分感谢
2024-04-28 11:34
快速回复:VFP的软“BUG”,怎么突破限制?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023551 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved