精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖界面设计〗>>如何改变菜单的字体大小

主题:如何改变菜单的字体大小
发信人: foxzz()
整理人: hunter__fox(2002-03-16 22:47:22), 站内信件
请参考: 
1、本来菜单生成器中是没有字体的选项的。 
2、利用菜单生成器的 选项中 跳过(K) 即SKIP FOR 中编写代码 
   代码为: .F.  FONT '宋体',12 
3、实际上,生成的代码为:  skip for .f. FONT '宋体',12 
   这样就达到了改变菜单子项字体的目的。 
   但顶层菜单的字体是不会改变的。 
4、菜单生成后,您可以modi menu mymenu1.mpr 
5、如果想完全解决问题,可以利用API。 
   在进入系统时改变分辨率,使用户操作环境与开发环境匹配。 
   可以参考有关vb的文章。 
  作 者: wangjd (wxfox) 1999.09.18 修改 删除 转贴 打包 回复 加至精华区 
【 在 yztjjf (老云) 的大作中提到: 】 
:   各位大侠: 
:       如何改变菜单的字体大小,多谢! 
你可把VFP自带的菜单生成程序改一下,(genmenu.prg,改之前最好备份一下) 
具体是将GENMENU。PRG中 FUNCTION defbars 函数改一下 
FUNCTION defbars 
PARAMETER m.popname, m.howmany, m.newname 
IF EMPTY(m.newname) 
m.newname = m.popname 
ENDIF 
PRIVATE m.itemno, m.prompt,m.name, m.cPopExpr 
SCAN FOR objtype=c_item AND LOWER(levelname)=m.popname 
   m.itemno = ALLTRIM(itemnum) 
   m.cPopExpr = IIF(m.g_inform, "(a_menupops["+ALLTRIM(STR(ASCAN(g_apo 
ps,LOWER(m.newname))))+"])", LOWER(m.newname)) 
   IF NOT EMPTY(ALLTRIM(name)) 
      m.name = name 
      \DEFINE BAR <<m.name>> OF <<m.cPopExpr>> 
   ELSE 
      \DEFINE BAR <<m.itemno>> OF <<m.cPopExpr>> 
   ENDIF 
   m.prompt = SUBSTR(PROMPT, 1,LEN(PROMPT)) 
********************************************************************** 
*   \\ PROMPT "<<m.prompt>>"                    &&原来语句 
   \\ PROMPT "<<m.prompt>>" FONT "宋体",12 STYLE 'BI' &&改过之后,这里的 
"12"就是字体大小 
**  以后自动生成的菜单字体大小就是你需要的 
********************************************************************** 
   DO addmark 
   DO addkey 
   DO addskipfor 
   DO addmessage 
   IF VAL(m.itemno)=m.howmany 
      RETURN 
   ENDIF 
ENDSCAN 

[关闭][返回]