VB调用自持字体
VB调用自制字体
我这里有一个C#的例子,请问如何在VB中实现啊。
我们写exe程序时,默认字体是宋体,比较难看,指定了其他字体,但是其他用户上没有你指定的这个字体的话,也会变成默认的宋体。解决的办法有这么几个:
1,叫用户安装相应字体,这个基本不可能实现,因为没有几个人会进行这样的操作;
2,给用户安装相应字体,这个办法可行,在制作安装包时将字体打包进去,然后用户安装程序的时候连字体也一并安装上去,一劳永逸;
3,把字体导入到程序资源中,让程序直接调用字体资源,缺点是导致程序体积巨大;
4,将字体文件放到程序目录里,在程序里单独调用。
个人觉得第4种办法比较方便,所以决定采用这种方法,把代码写出来给需要的同学。
引用:
using System.Drawing.Text;
public void Setfont()
{
string AppPath = Application.StartupPath;
try
{
PrivateFontCollection font = new
PrivateFontCollection();
font.AddFontFile(AppPath +
@"\font\msyh.ttf");//字体的路径及名字
Font myFont = new Font(font.Families[0].Name,
9F,FontStyle.Regular,GraphicsUnit.Point, ((byte)(134)));
//设置窗体控件字体,哪些控件要更改都写到下面
label1.Font = myFont;
label2.Font = myFont;
label3.Font = myFont;
button1.Font = myFont;
button2.Font = myFont;
button3.Font = myFont;
button4.Font = myFont;
button5.Font = myFont;
}
catch
{
MessageBox.Show("字体不存在或加载失败\n程序将以默认字体显示", "警告",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
然后在public Form1()
{
InitializeComponent();
Setfont();//启动字体设置函数
}
感谢各位了。
------解决方案--------------------
AddFontResource(App.path & "\She\DllList\A.TTF")
Call SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)
这两句加到窗体显示之前就行了
VB调用自持字体的更多相关文章
- vb调用exe文件
vb调用exe文件 函数:Call Shell(PathName,WindowStyle) 或 a = Shell(PathName,WindowStyle) ,不需要声明. 注解:PathName ...
- VB 调用动态链接库
作为一种简单易用的Windows开发环境,Visual Basic从一推出就受到了广大编程人员的欢迎.它使 程序员不必再直接面对纷繁复杂的Windows消息,而可以将精力主要集中在程序功能的实现上,大 ...
- Cocos2d-x 3.x 在wp8中调用系统字体的解决方案
问题和解决方法: 在使用cocos2d-x设计游戏的时候,字体是个很重要的部分.如果游戏中对字体没有太多的要求,就可以使用平台系统自带的字体,可以节省游戏的尺寸,以及减小游戏运行时所占用的内存.当加载 ...
- c#/vb调用c编写的标准dll
准备: 首先打开vc++ 6.0新建工程,选择Win32 Dynamic Link-Library,命名为stdLibrary 新建library.cpp文件,内容如下 #include <st ...
- c# asp.net 调用系统设置字体文本框
一,调用系统字体文本框 首先在bin文件夹右击--添加引用--.net标签里选择System.Windows.Forms--确定 然后在cs文件里引入,using System.Windows.For ...
- asp.net调用系统设置字体文本框的方法
本文实例展示了asp.net调用系统设置字体文本框的方法,是进行web开发中很实用的技巧.具体实现步骤如下: 一.调用系统字体文本框 首先在bin文件夹右击-->添加引用-->.net标签 ...
- VB调用sendinput API
http://files.cnblogs.com/files/liuzhaoyzz/VB%E8%B0%83%E7%94%A8sendinput_API.rar sendinput只支持发送字符或者组合 ...
- VB 调用 webservice 出现:WSDLReader:Loading of the WSDL file failed HRESULT=0×80040154: 没有注册类别 解决方案
有些 VB 程序在调用 webservice 的时候出现“WSDLReader:Loading of the WSDL file failed HRESULT=0×80040154: 没有注册类别 ...
- VB调用VC dll的返回方式
第一种类型:数值传递 注意:在VB中,默认变量传递方式为ByRef为地址,而传递值就是用ByVal,还要注意在C++中,int类型的变量是32位的,在VB中要用long型变量来配合.VC++部分: e ...
随机推荐
- Android listview的item设定高度
在item的layout文件中,用android:layout_height设置item的高度.运行,高度设置无效. 解决办法: 给item设定minHeight,即可. -------------- ...
- shell 数学计算
每次都找不到一个好的方法来执行shell中的变量计算. 前段时间忘了在哪发现一个好的方法.在此记录下来. 申请变量: value=0; 变量加减: value=$[$value+1] 变量乘除: va ...
- JDBC学习总结(三)
1.ResultSet光标控制 在创建Statement或PreparedStatement时使用的是Connection的无参数createStatement()方法或preparedSta ...
- flex布局全解析
前言 很长一段时间, 我知道有flex这个布局方式, 但是始终没有去学它. 3点原因: 感觉还比较新, 担心兼容性不好. 普通的布局方式能满足我的绝大多数需求. 好像蛮复杂的. 最近由于开发需要, 学 ...
- 特殊的css样式
在一定范围大小变化的div .div { width:auto; height:auto; min-height:100px; min-width:100px; max-height:200px; m ...
- 沉浸式学 Git
沉浸式学 Git cover — contents — about 目录 设置 再谈设置 创建项目 检查状态 做更改 暂存更改 暂存与提交 提交更改 更改而非文件 历史 别名 获得旧版本 给版本打标签 ...
- 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)
题目链接 题目: Labyrinth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- hdu 2986 Ballot evaluation (模拟)
题目 上次比赛的题目,好长时间了. 这几天感冒了很难受, 直到现在才整理, 上次比赛的时候,出了各种错误, ,,,样例都没过,题目读的也很差,今天做的时候, 看了一下网上的,发现一个代码特别简洁, ...
- Spring MVC定义拦截器
拦截器: package sy.Interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http ...
- 全球最受欢迎的十大Linux发行版(图)
帮助新的Linux用户在越来越多的Linux发行版中选择最合适的操作系统,是创建这个网页的原因.它列出了迄今为止最流行的10个Linux发行版(另外增加的是FreeBSD,到目前为止最为流行的BSD系 ...