- 博客(34)
- 收藏
- 关注
转载 USB HID通讯流程
创建C# USB hid通讯类下面是应用到WIN32 API:1. 读取Hid设备全局id[DllImport("hid.dll")] private static extern void HidD_GetHidGuid(ref Guid HidGuid);2. 取得一个包含所有HID接口信息集合的句柄 [DllImport("setupapi...
2017-11-06 13:26:00
725
转载 动态调用c++dll(转)
今天尝试写了一个简单的C++DLL,并且用另一个CPP调用它,啥都不说,先贴代码1.DLL(冒泡算法)extern "C"_declspec(dllexport) void maopao(int *p,int count);void maopao(int *p,int count){ int temp=0; for(int i=1;i<count;i++) {f...
2016-07-19 14:38:00
140
转载 VB应用程序调用c++编写的动态库(dll)(转)
1.调用的网上经验:当编写供VB调用的C++ DLL时,必须使用def文件来定义导出符号,否则VB程序将链接失败。我们都知道使用def文件是为了避免C++编译器对函数进行重命名,另一个达到相同效果的替代方式是使用extern "C"标识符。若DLL由C++、C#、Java等调用,后者可以工作得很好;然而VB不可以,即便使用了extern "C"来标识导出函数,依然需要定义def文件。...
2016-07-19 11:06:00
1909
转载 读取图像
#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;int main(){ //读入一张图片(游戏画面) Mat img=imread("...
2016-07-09 08:06:00
110
转载 OpenCV+VS2010配置
首先官网上(http://opencv.org/downloads.html)下载一个最新版本的Opencv, 我这里下载的版本"opencv-2.4.11"然后双击选择安装路径1. 安装完成后配置系统环境变量 右键我的电脑-属性-高级系统设置-高级-环境变量 选择系统变量"Path" , 在变量值后面追加Opencv的bin路径,...
2016-06-30 09:35:00
96
转载 属性触发器
4. 属性触发器 使用触发器,可以动态修改控件的外观和操作方式,因为一些事件或属性值改变了。例如用户在按钮上移动鼠标,按钮就会改变其外观。通常,这必须在C#代码中实现,但使用WPF也可以用XAML实现,而这只会影响UI。 下面首先介绍属性触发器 <Style x:Key="TextBoxStyle" TargetType="{x:Type TextBo...
2016-06-19 11:15:00
247
转载 WinForm中调用WPF控件
WinForm中调用WPF控件在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件;步骤1:创建WinForm工程;步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程;步骤3:在WPF中创建自定义的控件,或者添加WPF控件到面板上;步骤4:在WinForm面板上添...
2016-06-19 11:14:00
488
转载 路由事件
路由事件的处理模型常用的有两种: 冒泡事件: 由子控件位次向父容器传递,大部分的路由事件都是冒泡事件 隧道事件: 由父容器位次向其子容器、控件传递,一般PreXXX事件属性隧道事件下面提供键盘事件和鼠标事件键盘的隧道事件<Window x:Class="Event.MainWindow" xmlns="http://schemas.mi...
2016-01-21 16:42:00
90
转载 I2C和串口
有很大方式的不同。譬如i2c是带地址的通讯,支持多方通讯,串口就搞不定;两者通讯的机制原理也不同;另外速度上I2C相对会快一些,好像i2c是philips发明的,目的就是解决速度的瓶颈。I2C协议v2.1规定了100K,400K和3.4M三种速率(bps)。最低也有100K的速率,而串口通讯定了很多波特率设置使用最多的是9600bps,因为波特率越大传输距离越短,一般使用960...
2016-01-06 22:22:00
3007
转载 用户控件
创建用户控件可以在项目里右键添加用户控件,用户控件可以解决系统没有这个控件自己可以特定制作这个控件供自己项目中使用 或者 如果很多地方用到某到模块,就可以把这个模块封装成用户控件供多出调用 下面创建一个用户控件:<UserControl x:Class="用户控件.UserControl1" xmlns="http://schemas....
2016-01-06 09:20:00
90
转载 资源
资源 从样式示例可以看出,样式通常存储在资源中。可以在资源中定义任意元素,例如,前面从按钮的背景样式创建了笔刷,它本身就可以定义为一个资源,这样就可以在需要笔刷的地方使用它了。 下面的示例在StackPanel资源中定义了LinearGradientBrush,它的键名是MyGradientBrush使用StaticResource标记扩展将Background属性赋予MyG...
2016-01-06 09:19:00
103
转载 数据绑定
数据绑定是一种历经时间考验的传统方式,做法是从对象提取信息,并在应用程序的用户界面中显示提取信息,不用编写枯燥的代码就可以完成所有功能。富客户端通常使用双向数据绑定,这种数据绑定提供了从用户界面向一些对象退出信息的能力—同样,不需要或者几乎不需要编写代码。使用自定义对象绑定到数据库首先定义一个Book类class Book { publ...
2016-01-03 19:47:00
105
转载 简单元素绑定
前面讲依赖项属性的时候说过,依赖项具有内置的更改通知的支持,依赖项属性的一个特性就是数据绑定本章谈谈数据绑定。 简单第说,数据绑定是一种关系, 该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性。 目标属性始终是依赖项属性,通常位于WPF元素中—毕竟,WPF数据绑定的最终目标是在用户界面中显示一些信息。然而,源对象可以是任何内容,从另一个WPF元素乃至A...
2015-12-31 10:03:00
126
转载 StackPanel
Window可以只包含一个元素,作为其内容。如果要在其中包含多个元素,就可以将StackPanel用作Window的一个子元素,并在StackPanel的内容中添加元素。StackPanel是一个简单的容器控件,只能逐个排序地显示元素。StackPanel的方向可以是水平或垂直。<Window x:Class="Panel布局.StackPanel" xm...
2015-12-28 14:55:00
128
转载 DockPanel
DockPanel非常类似于Windows窗体的停靠功能。DockPanel可以指定排列子控件的区域。DockPanel定义了相关的Dock属性, 可以在控件的子控件中将它设置为Left,Right,Top和Bottom。显示了排列在DockPanel中的带边框的文本框。为了便于区别,为不同的区域指定了不同的颜色:<Window x:Class="Panel布局.D...
2015-12-28 14:54:00
122
转载 Grid
使用Grid,可以在行和列中排列控件。 对于每一列,可以指定一个ColumnDefinition;对于每一行,可以指定一个RowDefinition。 下面的示例代码显示两列和三行。 在每一列和每一行中,都可以指定宽度或高度。 ColumnDefinition有一个Width依赖属性,RowDefinition有一个Height依赖属性。 可以以像素,厘...
2015-12-28 14:54:00
101
转载 WrapPanel
WrapPanel将子元素自左向右逐个地排列, 若一个水平行中放不下,就排在下一行。面板的方向可以是水平或垂直的<Window x:Class="Panel布局.WrapPanelxaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=...
2015-12-28 14:54:00
142
转载 Canvas
Canvas是一个允许制定控件位置的面板.它定义了相关的Left,Right,Top和Bottom属性,这些属性可以由子元素在面板中定位时使用。<Window x:Class="Panel布局.Canvas" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...
2015-12-28 14:54:00
116
转载 模版
前面介绍过,Button控件可以包含任何内容,例如简单的文本,还可以给按钮添加一个Canvas元素,Canvas元素可以包含图形。也可以给按钮添加Grid,视频。按钮还可以完成更多的操作。 控件的外观,操作方式及其功能在WPF中是完全分离的。按钮有默认的外观,但可以用模版完全定制其外观。 ControlTemplate模版: 使用ControlT...
2015-12-24 21:03:00
85
转载 列表项模版
列表框元素包含ListBoxItem。使用ItemTemplate可以定义列表项的内容。 样式listBoxStyle定义了一个ItemTemplate,其值为DataTemplate。DataTemplate用于数据绑定到元素上。Binding标记扩展可以用于DataTemplate元素。 DataTemplate包含一个带三列的栅格。第一列包含字符串"车名:", 第二列绑定...
2015-12-24 21:03:00
99
转载 样式
设置Button元素的FontSize和Background属性,就可以定义WPF元素的外观和操作方式如下所示: <StackPanel> <Button Name="button1" Width="150" FontSize="12" Background="AliceBlue"> ...
2015-12-22 21:53:00
107
转载 XAML(4) - 标记扩展
在为元素设置值时, 可以直接设置值, 但有时标记扩展非常有帮助。标记扩展包含花括号,其后是定义了标记扩展类型的字符串标志。 下面是一个Static Resource标记扩展:<Button Name="button1" Style="{StaticResource key}" Content="Click Me"/>除了使用标记扩展之外,还可以使用子元素编写相...
2015-12-20 21:57:00
68
转载 XAML(2) - 依赖属性
3.依赖属性 在用WPF编程时,常常会遇到"依赖属性"这个术语。WPF元素是带有方法,属性和事件的类。WPF元素的几乎每个属性都是依赖属性, 这是什么意思?依赖属性可以依赖其他输入,例如主题和用户喜好。依赖属性与数据绑定,动画,资源和样式一起使用 前面我们说过WPF的体系结构,只有派生自DependencyObject基类的类才能包含依赖属性。 (由于De...
2015-12-20 18:44:00
137
转载 XAML(3) - 附带属性
WPF元素也可以从父元素中获得特性。例如,如果Button元素为了Canvas元素中,按钮的Top和Lef属性把父元素的名称作为前缀。这种属性成为附带属性: <Canvas> <Button Canvas.Top="30" Canvas.Left="40"> Click Me <...
2015-12-20 18:44:00
97
转载 XAML(1)
WPF是类似微软的WinForm和ASP.NET结合WPF使用XAML作为界面编辑语言,后台语言可以使用C#或VB.NETXAML是一种声明性标记语言,XAML(XML for Application Markup Language)是一种XML语法,用于定义用户界面的层级结构。下面的代码定义了一个内容为Click Me, 名为button1的按钮.<Button ...
2015-12-20 15:09:00
79
转载 WPF类层次结构
WPF包含上千个类,有很深的层次结构。为了帮助理解类之间的关系下图展示了WPF的层次结构DispatcherObject类 Dispatcher是一个抽象基类,用于绑定到一个线程上的类。与Windows窗体类似,WPF也要求仅从创建线程中调用方法和属性。WPF应用程序使用为人熟知的单线程亲和(Single-Thread Affinity,STA)模型,这意味着整个用...
2015-12-20 14:00:00
273
转载 普通委托到泛型委托到Linq
private delegate bool delTest(int a); private void button1_Click(object sender, EventArgs e) { var arr = new List<int>() { 1, 2, 3, 4, 5, 6 }; //...
2015-09-11 16:13:00
59
转载 串口通讯随笔
之前了做了个串口通讯的项目,主要用到 SerialPort类这里主要说说几个问题1. 在关闭串口的时候软件容易卡死的问题. 我们在使用SerialPort类打开串口时候,会开一个接收数据的线程来接收从串口发送过来的数据,也可以开个调用SerialPort类的事件DataReceived (我这里使用后者,自己开启的线程要一直循环接收数据,消耗资源) _s...
2015-09-11 14:02:00
161
转载 委托 与 事件
1.什么是委托. MSDN上解释.. 1). 委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。与委托的签名(由返回类型和参数组成)匹配的任何可访问类或结构中的任何方法都可以分配给该委托.方法可以是静态方法,也可以是实例方法。 这样就可以通过变成方式来更改方法调用,还可以向现有类中插入新代码。只要知道委托的签名,就可以...
2014-04-23 12:29:00
85
转载 几种编码的形式的介绍(转)
1. ASCII码 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。我们知道...
2013-09-09 13:24:00
272
转载 .net 内存分配及垃圾回收总结
生存期垃圾回收器 目前有很多种类型的垃圾回收器.微软实现了一种生存期垃圾回收器(Generation Garbage Collector).生存期垃圾回收器将内存分为很多托管堆,每一个托管堆对应一个生存期等级。垃圾回收器目前有三个生存期等级,这里我们称作代,0代,1代,2代,GC中0代是最年轻的对象,2代对象存活的时间最长,GC按代回收垃圾...
2013-08-20 13:50:00
96
转载 lib和dll的区别,生成(转)
首先介绍下静态库(静态链接库,.lib文件),动态库*(动态链接库,.dll文件)的概念,首先两者都是代码共享的方式.静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝.即静态库中的指令都全部被直接包含在最终生成的EXE文件中了. 在V...
2013-07-21 11:25:00
113
转载 将图片生成高清缩略图
'手动将image画到bitmap中 Private Sub DrawThumbTest() Dim str As String = "C:\Users\hd.song\Desktop\123.jpg" Dim array As ArrayList = New ArrayList() array.Add(PictureBox1)...
2013-07-04 15:43:00
170
转载 matlab封装DLL混合编程总结
最近做了个项目要用到matlab做些算法处理,然后用.net项目调用这个类,我把这个matlab封装dll总结了下如下: matlab是商业数学软件,优势是在算法开发上面有很强的功能,提供了很多数学算法巩使用者调用比一般编程语言更容易处理复杂算法问题,而且处理算法有并行处理能力,速度上比一边编程语言也快很多. 基于组件对象模型(Component Object...
2013-07-03 15:25:00
716
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人