DELPHI7如何创建一个带窗体的OCX

DELPHI7如何创建一个带窗体的OCX,不带窗体的简单例子已调试成功;新手上路,如解答请务必详细,先行谢过.

2个回答

在你的工程里创建一个窗体。在你的ocx上定义一个方法,弹出窗口显示就可以了。

非常谢谢你的回答,能否再具体点,我基础太差了,能否写段示例代码,多谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
delphi7 ocx 如何调用OCX
delphi7 ocx 如何调用OCX rn因为身份证读卡器 一下子有几种,那就出现了几钟OCX了rn我现在想再次封装成一个OCX 统一一个出口使用rn那位大神赐教一下
delphi7怎样导入OCX
delphi7怎样导入OCXrn1、REGSVR32 C:\WINNT\SYSTEM32\TPDSMSControl30.ocx成功rn2、在delphi中component下拉菜单选 import activeX controlrn3、在impot activeX对话框中选中TPDSMSControl30,palette page默认选择是ActiveXrn4、点击install,在activeX中一直没有出现新的控件rn5、在接下来的package-dclusr.dpk 对话框中,点击compile,然后关闭该对话框rn6、结果始终在在activeX中一直没有出现新的控件rn导入不成功,这是怎么回事,高手指点一二,谢谢!!rnrn
如何创建一个圆角窗体。
用这样的方法,坏处就在于修改窗口大小。不怎么协调。rnthis.Region = new Region(new Rectangle(20, 20, 200, 50))rnrn有更好的方法么。
如何创建一个MDIChild窗体
我设定子窗体(Form1)的FormStyle为MDIChild,然后在Main窗口的菜单中建立该子窗口rnForm1:=TForm.Create.(Application);rnForm1.show;rn但是,这样当该窗口建立时,再单击main窗口的菜单事件,它又创建一个相同的窗口。rn我不想这样,我想该子窗口没有打开就创建,有就打开原来已打开的窗口,而不是打开两个相同的
如何创建复制一个窗体??
创建一个新窗体,怎么弄和已存在的窗体一样的属性??
求delphi7 中创建多个窗体代码
要求:一、主窗体里有两个按钮,按每个按钮打开一个窗体,即要打开两个子窗体。rnrn二、在子窗体中,每个窗体又有两个按钮,按每个按钮打开一个窗体,即又要打开两个子窗体。rnrn就是这样了,谢谢那位高人能帮上这个忙。最好是有个例,打包后发给我Q*44*876*5740。
创建带滚动条的窗体的资源
创建带滚动条的窗体 创建带滚动条的窗体 创建带滚动条的窗体
如何控制ocx窗体内容
在写一个ocx控件,控件有个窗体,窗体里有label、edit和buttom控件。rn在ocx的方法中,我要对窗体上的label和edit进行操作,比如修改left、top、visable、caption、text等值,请教如何操作?麻烦距离详细代码,谢谢。十万火急。rnrn就当ocx控件的名称叫做 a,几个控件分别是lb,ed吧。rnrn(我看了下自动生成的set_Caption等函数,里面有if (FireOnRequestEdit(dispid) == S_FALSE) return S_FALSE;之类的语句,不懂,不敢随便照搬)。rn
OCX如何显示主窗体
VC 写了一个ocx控件,不能显示主菜单。rnrnint CAXMainCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) rnrn if (COleControl::OnCreate(lpCreateStruct) == -1)rn return -1;rn rn // TODO: Add your specialized creation code herern m_MainDialog.Create(IDD_MAIN_DLG, this);rn return 0;rnrnrn
请教:如何通过一个窗体类名创建一个窗体的实例???
在DELPHI中可以用通过一个窗体的类名作为参数创建一个窗体。rn类似这样子:rnprocedure ShowForm(FormClass: TFormClass);rnbeginrn with FormClass.Create(nil) dorn Tryrn ShowModal;rn Finallyrn Free;rn end;rnend;rn请问在CBC中怎么实现呀?
如何安装一个OCX?
-
如何 封装一个ocx?
我有一个第三方的ocx,现在我要对它的方法、属性、事件进行二次封装,成为dll自定义用户控件. 具体应该怎么做?rnvs 2005或者vs 2008rnrnrnrn
单击按钮创建一个窗体?
代码如下:rn[code=C/C++]rn#include rn#include rnLRESULT CALLBACK WndProc( HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);rnLRESULT CALLBACK WndProc( HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)rnrn HDC hDC;rn PAINTSTRUCT ps;rn char szChar[20];rn switch(uMsg)rn rn case WM_COMMAND:rn switch(wParam) rn rn case 1001: rn CreateWindow("first", "abc", WS_CHILD|WS_VISIBLE |WS_BORDER,100, 100, 200, 200, hwnd ,NULL,NULL,NULL);rn break; rn rn break;rnrn case WM_CREATE:rn CreateWindow("button","创建",WS_CHILD|WS_VISIBLE |BS_PUSHBUTTON,50,50,100,50,hwnd,NULL,NULL,NULL); rn break;rn case WM_CLOSE:rn DestroyWindow(hwnd);rn break;rn case WM_DESTROY:rn PostQuitMessage(0);rn break;rn default:rn return DefWindowProc(hwnd,uMsg,wParam,lParam);rn rn rn return 0;rnrnrnint WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)rnrn WNDCLASS wndcls;rn wndcls.cbClsExtra=0;rn wndcls.cbWndExtra=0;rn wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);rn wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);rn wndcls.hIcon=LoadIcon(NULL,IDI_APPLICATION);rn wndcls.hInstance=hInstance;rn wndcls.lpfnWndProc=WndProc;rn wndcls.lpszClassName="first";rn wndcls.lpszMenuName=NULL;rn wndcls.style=CS_HREDRAW | CS_VREDRAW;rn rn RegisterClass(&wndcls);rn HWND hwnd;rn hwnd=CreateWindow("first","您好",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);rn ShowWindow(hwnd,SW_SHOWNORMAL);rn UpdateWindow(hwnd);rn MSG msg;rn while(GetMessage(&msg,NULL,0,0))rn rn TranslateMessage(&msg);rn DispatchMessage(&msg);rn rn return 0;rnrnrn[/code]rn我想单击"创建"按钮,如何弹出一个类似主窗体的窗体?
创建一个pygame窗体
本视频致力于打造最适合Python初学者的入门视频,站在初学者角度,从零开始、由浅入深,以朴实生动的语言来阐述复杂的问题,其中列举了大量现实中的例子进行讲解,真正做到通俗易懂。 本视频涵盖Python基础语言、流程控制、数据结构、函数、模块与包、面向对象、文件、异常等核心知识点。当学完一个章节的知识点,通过每章实用性强的案例,将所学知识综合运用到实际开发中,积累项目开发经验。
如何注册一个ocx?
我知道注册一个dll用regsvr32 c:\test.dll即可,注册一个ocx是用regcomp c:\rntest.ocx马?
如何创建不规则窗体
如何创建不规则窗体源码
如何创建移动的窗体
如何创建移动的窗体实例源码
如何创建图形化窗体
VC++net创建图形化窗口的示例
如何创建椭圆形窗体
如何创建椭圆形窗体
如何创建MDI窗体?
我想在.net环境下创建一个多文档的窗体,但不知如何产生?
如何创建这样的窗体
在新建Form的时候,创建出来的窗体的右上方都有三个小钮,最小,最大,关闭,那么如何创建一个只有关闭钮的窗体?
如何创建窗体?
我想创建窗体,但目前只想只知道窗体的名称(字符串格式)如:"fmEmpList"MDI格式,请问怎么办?
我在一个OCX工程中如何创建一个新的控件
我在一个MFC ActiveX Control Project中创建了7个控件(通过Wizard)rn现在我想增加一个控件,以实现新的功能,但我该如何做才能实现?rn注意:不是ATL COM控件,是MFC ActiveX Control。小弟真的急需,rn请各位高手大虾帮帮忙!!rn多谢了rn
不规则窗体如何创建
[img=http://p13.freep.cn/p.aspx?u=v20_p13_photo_1302151702523352_0.jpg][/img]rn这个形状的不规则窗体谁创建能顺手捏来?rn90分求助不要跟我说什么用什么和什么请用代码说话 举例说明~!图上是一个窗体不是贴图
带注册码支持delphi7
Delphi CodeSite 带注册码只支持delphi7
动画显示窗体 delphi7
采用Delphi7 编写,WindowsXP测试通过。对窗体动画显示。你可以根据自己的习惯来改变显示方式。
DELPHI7 伸缩窗体问题~!
[code=Delphi(Pascal)]unit Unit1;rnrninterfacernrnusesrn Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,rn Dialogs, ComCtrls, ShellAPI, ExtCtrls, StdCtrls, RzPanel, RzSplit;rn//<-窗体隐藏 Begin->rntypern TAnchorKind = (akTop, akLeft, akRight, akBottom);rn TAnchors = set of TAnchorKind;rn//<-窗体隐藏 End->rntypern TForm1 = class(TForm)rn LabeledEdit1: TLabeledEdit;rn Button1: TButton;rn Button2: TButton;rn Button3: TButton;rn Button4: TButton;rn Button5: TButton;rn Timer1: TTimer;rn Memo1: TMemo;rn PageControl1: TPageControl;rn TabSheet1: TTabSheet;rn TabSheet2: TTabSheet;rn TabSheet3: TTabSheet;rn TabSheet4: TTabSheet;rn TabSheet5: TTabSheet;rn RzSplitter1: TRzSplitter;rn procedure FormCreate(Sender: TObject);rn procedure Button1Click(Sender: TObject);rn procedure Timer1Timer(Sender: TObject);rn procedure FormMouseDown(Sender: TObject; Button: TMouseButton;rn Shift: TShiftState; X, Y: Integer);rn privatern Private declarations rn //<-窗体隐藏 Begin->rn FAnchors: TAnchors;rn procedure WMMOVING(var Msg: TMessage);message WM_MOVING;rn //<-窗体隐藏 End->rn //<-无标题窗体缩放 BEGIN->rn procedure WmNCHitTest(var Msg: TWMNCHitTest); message WM_NCHITTEST;rn //<-无标题窗体缩放 END->rn publicrn Public declarations rn end;rnrnvarrn Form1: TForm1;rnconstrnsc_DragMove:longint=$F012;rnimplementationrnrn$R *.dfmrn//<-窗体隐藏 Begin->rnuses Math;rnrnprocedure TForm1.WMMOVING(var Msg: TMessage);rnbeginrn inherited;rn with PRect(Msg.LParam)^ dorn beginrn Left := Min(Max(0, Left), Screen.Width - Width);rn Top := Min(Max(0, Top), Screen.Height - Height);rn Right := Min(Max(Width, Right), Screen.Width);rn Bottom := Min(Max(Height, Bottom), Screen.Height);rn FAnchors := [];rn if Left = 0 then Include(FAnchors, akLeft);rn if Right = Screen.Width then Include(FAnchors, akRight);rn if Top = 0 then Include(FAnchors, akTop);rn if Bottom = Screen.Height then Include(FAnchors, akBottom);rn Timer1.Enabled := FAnchors <> [];rn end;rnend;rnrnprocedure TForm1.Timer1Timer(Sender: TObject);rnconstrn cOffset = 2;rnvarrn //i : integer;rn isshow :boolean;rn tpponit : tpoint;rnbeginrn tpponit := ScreenToClient(Mouse.CursorPos);rn self.Memo1.Lines.Add('left='+inttostr(self.Left));rn self.Memo1.Lines.Add('x='+inttostr(tpponit.x));rn if (self.Left = 0) and (tpponit.x > self.Width-5 ) thenrn isshow := false //靠左-5右边框rn elsern if (self.Left < 0) and (tpponit.x < self.Width ) thenrn isshow := truern elsern if (self.Left = 0) and ((tpponit.Y < -10) or (tpponit.Y > self.height)) thenrn isshow := false //靠左-10上边框 下边框rn elsern if (self.top = 0) and (tpponit.y > self.height ) thenrn isshow := false //靠上下边框rn elsern if (self.top < 0) and (tpponit.y < self.height ) thenrn isshow := truern elsern if (self.top = 0) and ((tpponit.x < -5) or (tpponit.X >self.Width-5)) thenrn isshow := false //靠上-5左边框 -5右边框rn elsern if (Screen.Width - self.left = self.Width ) and (tpponit.x < -4 ) thenrn isshow := falsern elsern if (Screen.Width - self.left = cOffset ) and (tpponit.x >= -4 ) thenrn isshow := truern elsern if (Screen.Width - self.left = self.Width ) and ((tpponit.Y < -10) or (tpponit.Y > self.height)) thenrn isshow := false //靠右-10上边框 下边框rn elsern exit;rnrn if isshow thenrn beginrn if akLeft in FAnchors then Left := 0;rn if akTop in FAnchors then Top := 0;rn if akRight in FAnchors then Left := Screen.Width - Width;rn if akBottom in FAnchors then Top := Screen.Height - Height;rn end elsern beginrn if akLeft in FAnchors then Left := -Width + cOffset;rn if akTop in FAnchors then Top := -Height + cOffset;rn if akRight in FAnchors then Left := Screen.Width - cOffset;rn if akBottom in FAnchors then Top := Screen.Height - cOffset;rn end;rnrnend;rn//<-窗体隐藏 END->rn//<-无标题窗体拖动 BEGIN->rnprocedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;rn Shift: TShiftState; X, Y: Integer);rnbeginrn//if ssCtrl in Shift thenrn//判断“Ctrl”键是否按下rn//BeginrnReleaseCapture;rn//释放鼠标事件的对象rn(Sender as TWinControl).PerForm(wm_SysCommand,sc_DragMove,0);rn//发送消息rn//end;rnend;rn//<-无标题窗体拖动 END->rn//<-无标题窗体缩放 BEGIN->rnprocedure TForm1.WmNCHitTest(var Msg: TWMNCHitTest);rnconst v = 10; //border widthrnrnvar p: TPoint;rnrnbeginrn p := Point(Msg.XPos, Msg.YPos);rn p := ScreenToClient(p);rn if PtInRect(Rect(0, 0, v, v), p) thenrn Msg.Result := HTTOPLEFTrn else if PtInRect(Rect(Width - v, Height - v, Width, Height), p) thenrn Msg.Result := HTBOTTOMRIGHTrn else if PtInRect(Rect(Width - v, 0, Width, v), p) thenrn Msg.Result := HTTOPRIGHTrn else if PtInRect(Rect(0, Height - v, v, Height), p) thenrn Msg.Result := HTBOTTOMLEFTrn else if PtInRect(Rect(v, 0, Width - v, v), p) thenrn Msg.Result := HTTOPrn else if PtInRect(Rect(0, v, v, Height - v), p) thenrn Msg.Result := HTLEFTrn else if PtInRect(Rect(Width - v, v, Width, Height - v), p) thenrn Msg.Result := HTRIGHTrn else if PtInRect(Rect(v, Height - v, Width - v, Height), p) thenrn Msg.Result := HTBOTTOM;rn inherited;rnend;rn//<-无标题窗体缩放 END->rnprocedure TForm1.FormCreate(Sender: TObject);rnbeginrn//LabeledEdit1.Text:=DateTimeToStr(now);rnTimer1.Enabled := False; //时间关闭rnTimer1.Interval := 200; //时间毫秒rnFormStyle := fsStayOnTop; //窗体在最前rn//<-无标题窗体缩放 BEGIN->rn SetWindowLong(Form1.Handle,rn GWL_STYLE,rn GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);rn Height := ClientHeight;rn//<-无标题窗体缩放 END->rnend;rnrnprocedure TForm1.Button1Click(Sender: TObject);rnbeginrnLabeledEdit1.Text:=LabeledEdit1.Text + TButton(Sender).Caption;rnPageControl1.ActivePageIndex:=TComponent(Sender).Tag;rnend;rnrnend.[/code]rn当我把窗体拖动到顶部 缩回去 然后让窗体伸出来 鼠标在窗体最顶部 一直往左 或右 移动 移动出窗体后 窗体闪烁 窗体隐藏在左面 隐藏在右面 一样会闪烁~!! 请高手解决~!!
delphi7 窗体出错
出这个错误,不知道哪里的是,带高手
delphi7的窗体最小化问题
delphi7做程序的时候,当主窗体最小化时,所有的打开的窗体也都最小化了,而且不是最小化到任务栏上,现在我想1、当主窗体最小化的时候,其他打开的窗体仍然正常显示 2、主窗体和其他窗体最小化时都在任务栏上?rnrn如何解决以上问题,请各位达人帮帮忙!
XP窗体.ocx
XP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocxXP窗体.ocx
带界面的OCX
如果想要创建带界面的ocx,首先需要创建对话框资源及其关联的类。在控件工程里的 CxxxCtrl这个类上响应WM_CREATE,如果你创建的对话框类是CDlg,那么在CxxxCtrl 类的头文件里面定义CDlg m_dlg;然后在上面的OnCreate()里面调用m_dlg.Create(),在控件创建的时候创建对话框。然后响应控件的WM_SIZE函数 在OnSize()函数里面将对话框(界面)显示
delphi 创建ocx以后,想让ocx再创即一个窗体到IE
我的ocx控件已经成功加载到IE了,现在我想在ocx上加一个按钮,点击按钮创建一个窗体,这个窗体的父窗体是IE,但是我没法获得IE的control 指针!rnSelf.Handle 是有值的,rnFindControl(Self.Handle); 返回的是正确的。rn但是FindControl(GetParent(Self.Handle)); 返回的是 nil ;GetParent(Self.Handle)返回的也对!rn我自己写的FindControl ,把hinstance 改成 Format('ControlOfs%.8X%.8X', [GetModuleHandle(nil), GetCurrentThreadID]) ,也不行!连 FindControl(Self.Handle); 返回的是也是nil了!rn请大家指教!多谢!rn
如何创建一个带收件人地址的新邮件?
即当/?Cmd=new时,能否将收件人的邮件地址自动填写到收件人的相应位置当中?
如何创建一个带Table参数的存储过程
我想在传一个table进去存储过程,应该怎么写?rnrnCREATE PROCEDURE sprn -- 这样写好想不行吧。。rn @tb TABLE(....)rnASrnBEGINrnrn
请教如何隐藏创建一个窗体。
主窗体是form1,因为很多主要运行事件是在form2中Create事件中执行,同时form2的显示和隐藏是由用户在form1中设定的。我这样写没有效果,请高手指点。rnrn注:不方便使用 Show方式,因为我要等待Form2中的事件执行完后,自动关闭,之后还有很多的事件等待执行。rnrn[code=Delphi(Pascal)]rnrn Form2:=TForm2.Create(Application);rnrn if True=Checkbox1.checked then Form2.Visible:=False else Form2.Visible:=True; rnrn Form2.ShowModal;rn Form2.Free;rnrn // 停止,form2未关闭时严禁往下执行rnrn ……rnrn[/code]
请问一个窗体下如何创建多个菜单~~~
请教各位高手,同一窗体下如何创建多个独立的菜单,例如多个popupmenu右键弹出菜单!谢谢~~~
如何创建一个无窗体的程序
怎么样创建一个无窗体的程序呢?除了用consloe模式外,就是那种只在后台运行的
如何创建一个能够输入字符的窗体
创建后显示光标,能够输入字符
如何避免一个窗体被重复创建?
如何避免一个窗体被重复创建?用那个函数.
如何创建一个MDI框窗体。
我想做一个MDI框窗体,就是像多文档窗体的外面框架,即没有一个文档已打开。请问如何做?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法

相似问题

2
vb系统库ocx库的调用,传入的参数是作为ocx的内存被存储的么?
2
请问调用一个ocx控件,数组怎么直接调用给ocx,而不要复制一个数组给ocx?
2
函数中调用ocx,这个函数事先要初始化ocx的内容么?它怎么从窗体上得到对应ocx的调用?
2
vb的exe内存能不能直接同时读取ocx的内存里定义的全局变量的变量名?
2
怎么遍历求一个ocx里关联了多少exe内存里的全局变量?求这些全局变量的变量名的做法是什么?
2
vb编程软件制作怎么看一个ocx的空间里定义了什么变量,以及变量定义的类型?
2
当参数和ocx的变量名重合的时候,ocx中的变量是不是自动会调用函数里定义的参数的变量?
2
调用ocx控件的事件代码,写在主程序的事件中,定义的变量还是算主程序的还是算ocx的?
2
vb语言中窗体上放入一个ocx以后,窗体的内存是怎么和ocx的内存连接的?
2
主程序的事件过程,但是其中用了ocx参数,那么这些ocx参数是如何被exe调用?
2
数组如果从ocx获取,那么数组的下标对应的内存还是连续的还是分离的?
2
可以实现exe->ocx调用,但是ocx怎么避免和exe定义变量的重复呢?
2
exe->ocx传的值,怎么做到ocx修改后反向对exe传值?
2
控件放在窗体上然后编写事件代码,怎么通过控件的事件同步exe内存的全局变量?
2
vb编程语言中如何在定义的主窗体中使用ocx传入的内存的变量,动态接收变量?
2
为什么在ocx里也可以定义和窗体相同的变量,但是ocx变量不能把窗体变量更新和替换?
2
控件里面嵌套控件的调用,ocx的内存是放在外侧ocx内存里的么?
2
怎么同时而不是循环分步地读取和写入一个vb中的ocx控件中的数组对象?
1
请问怎么在vb6.0开发平台上实现窗体界面的ocx引用参照的设定?
1
Win32应用调用OCX如何在应用完整打开后调用指定方法?