我爱builder

C++Builder 程序员博客

在定时器中,定时执行
TCppWebBrowser* wb

Variant v;
    v+=url;
    wb->Navigate2(v);

结果在CppWebControlDocumentComplete事件中可以获取页面的代码,但没有更新 (页面内容实际上已经更新)
为什么?

恭喜 加分

up

up

学习.

没有人知道?好伤心呀

up

该回复于2008-07-10 02:46:50被版主删除

  • Filed under: C++ Builder
  • 报了个 "Invalid   parameter "错误,为什么会报这个错误呢????

    ding

    该回复于2008-07-19 16:13:53被版主删除

    该回复于2008-07-10 02:40:20被版主删除

    该回复于2008-07-10 02:47:35被版主删除

  • Filed under: C++ Builder
  • 主窗体下有一个子窗体,子窗体的FormStyle是fsMDIChild,子窗体下有一个Panel控件,在这个Panel上放一个PageControl控件,这个PageControl上有4个TabSheet,每个TabSheet上又有Panel.
    现在的问题是,当主窗体最大化时,子窗体的Panel好象是最大化的,但PageControl没有最大化,如何才能使这个控件也最大化呢?请高手帮忙

    合理设置PageControl的Anchors属性就可以了。

    该回复于2008-07-10 02:50:10被版主删除

    该回复于2008-07-19 16:09:43被版主删除

    该回复于2008-07-10 02:37:04被版主删除

  • Filed under: C++ Builder
  • 在对控件的属性操作的时候,出现了内存地址错误:Access   violation   address   40106167   in   module   'vcl60.bpl '   Read   of   address   00000057

    TRadioButton   *rb_do;
    rb_do-> Visible   =   true;

    TRadioButton   *rb_do   =   new   TRadioButton(Application);
    rb_do-> Name   =   "Ra ";         //必须指定
    rb_do-> Parent   =   this;         //必须指定
    rb_do-> Visible   =   true;
    rb_do-> Left   =   10;
    rb_do-> Top   =   10;

    动态生成的要有name     和   parent

  • Filed under: C++ Builder
  • 比如直接在Form上,切换出输入法,打什么字,这个字就会显示在Form上,当然英文字母可以用OnKeyDown什么的判断,可汉字怎么办?

    这么深奥一个问题,不给分,实在说不过去,可惜小弟发这个贴的时候,已经没分了,打算,第二天再加分吧,没想到csdn的加分制度是最少就加100,我没有100分呀,加不了。

    Form上面加了组件倒是可以,但是你这样什么都不加就要他显示,还真的是没有办法

    自己在点击的地方绘制一个“会闪”的光标,然后outtext就醒了:p

    下面代码已经测试通过:

    if(uMsg == WM_IME_CHAR)
    {
    //汉字的两个字节缓冲
    unsigned char *CharZh = new unsigned char[3];

    CharZh[0] = (unsigned char)((Message.WParam >> 8) & 0xFF);
    CharZh[1] = (unsigned char)(Message.WParam & 0xFF);
    CharZh[2] = '\0';

    //这行代码是C++Builder的,在VC应该相应的方法.
    AnsiString Str = AnsiString((char*)CharZh);

    // Memo1->Lines->Add("Input Text = " + Str);

    delete[] CharZh;
    }

  • Filed under: C++ Builder
  • 现在也知道自定义控件有bpk文件,安装初始化一下就可以安装控件。
    现在有些网上的控件都是使用安装包来完成的,很快很方便。所以很想知道如何完成。

    还有问题: 网上的收费控件是如何实现代码的封装,以防止用户看到源码的。我们在bcb中如何实现呢!

  • Filed under: C++ Builder
  • 我想在C++ Builder中使用VLC控件播放,但是控件导入后无法播放,只有一个图标在上面。

    哪位大大能给解释一下怎么弄才能播放出来?

    我的VLC播放器的版本是0.8.6c

    这恐怕是VLC控件的兼容性问题。

    TMediaPlayer?

    播放的是什么文件格式?有操作系统有装解码器么?

  • Filed under: C++ Builder
  • 如何使用ADOTable控件获取access表中的字段名称和类型

    楼上的真牛啊!!!~

    =   =~用那么复杂吗?

    一个数据源指定ACCESS的连接路径,,ODBC~

    然后用一条SQL语句用ADOQUERY来执行不就可以获得了么。。。

    连接以后也应该可以在代码中直接指定TABLE的表吧。。我没试过。。。

    感觉ADOQUERY好用

  • Filed under: C++ Builder
  • 如题 我想在窗口中将所有是button类型按钮 放到数组中,中间要有个这样的判断语句 我对控件不是很清楚他们是怎么判断 最好能举个列子 谢了

    也可用

    C/C++ code
    if(dynamic_cast<TButton*>Form1->Components[i]) { TButton *pBtn=(TButton*)(Form1->Components[i]); // ….. }

    刚才我试了下 发现[jxw1987628]的代码给我了点想法,
    我打算使用TWinControl这样操作
    for(int I=0;I <this->ControlCount;I++){
                    TWinControl *Temp=dynamic_cast <TWinControl *>(this->Controls[I]);
                    if(Temp->ClassNameIs("TButton"))
                            ShowMessage("呵呵终于找到你了Button");
    }
    结果给我报了地址引用错误。我不明白了

    你应该用TComponent
    大概如下

    C/C++ code
    if ( ComponentCount > 0 ) { for ( int i = 0 ;i< ComponentCount ;i++ ) { Temp = Components[i]; if (Temp->ClassNameIs("TForm2")) { ShowMeaasge( dynamic_cast<TForm2 *>(Temp)->Caption ) } } }

    引用 3 楼 loxiro 的回复:
    刚才我试了下 发现[jxw1987628]的代码给我了点想法,
    我打算使用TWinControl这样操作
    for(int I=0;I <this->ControlCount;I++){
                    TWinControl *Temp=dynamic_cast <TWinControl *>(this->Controls[I]);
                    if(Temp->ClassNameIs("TButton"))
                            ShowMessage("呵呵终于找到你了Button");
    }
    结果给我报了地址引用错误。我不明白了

    你的用法不对,先看看dynamic_cast的意义!,

    用dynamic_cast是标准的用法,原因是:如果我声明了TMyButton:TButton,那么用ClassNameIs就会失败,但是用dc用dynamic_cast就不会。

    既然都用dynamic_cast了,那就不需要ClassNameIs了,直接

    C/C++ code
    for(int I=0;I <this->ControlCount;I++){ if(dynamic_cast <TButton*>(this->Controls[I])) ShowMessage("呵呵终于找到你了Button"); }

    感谢大家的帮忙 dynamic_cast我知道怎么用了 难道我下次遇到个checkbox DBGrid 都要用dynamic_cast来转换.本着对技术或知识的追逐我还是想问下Components和TWinControl 有什么区别阿 为什么我用TWinControl 就不能像1楼和2楼那样操作呢

    象按钮,下拉框这种Windows里自带的控件,VCL对它做了一个包装,这些都是从TWinControl继承的
    另外还有更多的是VCL自己特有的组件,如TImage,TDataSource,TIdFTP等等。
    而所有的VCL组件(可以从面板上拖拉的,当然也包括前面说的TWinControl)都是从TComponent继承的。
    A->Controls是查找Parent是A的控件,A->Components是查找Owner是A的控件。
    说得不周到之处后面补充哈

    是不是TButton
    Object->ClassNameIs("TButton");
    是不是继承于TButton
    Object->InheritsFrom(__classid(TButton));//相当于Delphi的Object Is TButton

    to(Waiting4you);让我看到一丝曙光
    刚从帮助中发现,也不知道我这样理解的可以不,TButton是从TButtonControl那继承,TButtonControl又是继承自TWidgetControl,后再继承于TControl ,这样一层一层继承TControl <-TComponent <-TPersistent <-TObject.
    而我拖出来的一个Button难道是从TButton的一个对象吗?这样只要是基类对子类动态调用都可以从判断中得到是不是TButton的类型,另外让我发现 使用的ClassNameIs(const AnsiString string)方法是由TObject定义的,TObject? TObject?他是干什么的呢?还有他定义的一些方法?很怪!
    我只能说自己开始刚接触bcb,不过这里的继承使用的让我眼花缭乱,我还是想知道这写基础类的作用,不知道那位能帮我说说。感觉顿顿的,需要有人来捅下,才能清醒。

    先学好C++基础,了解虚方法

  • Filed under: C++ Builder
  • 大鸟老鸟都进来帮帮菜鸟我吧

    FileListBox1只是显示文件. 具体的操作还是要写代码.

    用ADO可以连接到EXCEL文件. 在网上搜下一大把.

    我的目的是知识想把EXCEL的数据导到DBGrid中去,有没有其他方式实现

    FileListBox只能得到文件名路径列表。

    你可以写个读取Excel文件到DBGrid的函数(ccrun好像有的(OLE),另外用ADO把Excel当作数据源也很方便的)

    然后调用这个通用的

    循环读就可以了!

  • Filed under: C++ Builder
  • 类别

    最新

    标签

    链接


    存档