我在DLL中有一个Delphi表单(我知道这限制了DLL对Delphi的使用,但在这种情况下这不是问题).
DLL导出一个ShowForm看起来大致如下的函数:
procedure ShowForm (App : TApplication);
begin
OldApp := Application;
try
Application := App;
MyForm := TMyForm.Create (nil);
try
MyForm.ShowModal;
finally
FreeAndNil (MyForm);
end;
finally
Application := OldApp;
end;
end;
Run Code Online (Sandbox Code Playgroud)
现在我在表格上使用了一个TAdvOfficeHint(来自TMS组件包).不幸的是,这些提示没有显示出来.
我在这里错过了什么吗?如何使表单的行为完全像我从主应用程序中显示的那样?
谢谢!
我下载了VS 2010 RC并希望尝试一下.
我想创建一个小应用程序来添加和删除注册表中的用户定义的上下文菜单项.为了实现这一点,我需要以某种方式获取任意DLL的CLSID,以便在写入新条目之前,如果它们存在,我可以备份它们.
虽然regsrv32不知怎的设法创造了这个神奇的数字,但我没有找到任何办法自己获得这个数字.
我希望有比这更好的东西:
如果DLL已重命名,我可以看到出现问题的可能性.
在下面的javascript代码中,[]被指定为变量的值,这是什么意思?
var openTollDebug = [];
Run Code Online (Sandbox Code Playgroud) 文件句柄上的utf8编译指示和utf8编码让我感到困惑.例如,这个看似简单明了的代码......
use utf8;
print qq[fü];
Run Code Online (Sandbox Code Playgroud)
要清楚,"fü"上的十六进制转储66 c3 bc,如果我没有弄错,那就是正确的UTF8.
打印66 fc的不是UTF8,而是Unicode或Latin-1.关掉use utf8,我明白了66 c3 bc.这与我的期望相反.
现在让我们添加filehandle pramgas.
use utf8;
binmode *STDOUT, ':encoding(utf8)';
print qq[fü];
Run Code Online (Sandbox Code Playgroud)
现在我明白了66 c3 bc.但删除use utf8,我得到的66 c3 83 c2 bc对我没有任何意义.
用UTF8制作我的代码DWIM是正确的做法吗?
PS我的语言环境设置为"en_US.UTF-8"和Perl 5.10.1.
在我的cocoa应用程序中,我需要一个用于NSTableView的自定义NSCell.此NSCell子类包含用于处理单击的自定义NSButtonCell(以及用于文本内容的两个或三个NSTextFieldCells).您将在下面找到我的代码的简化示例.
@implementation TheCustomCell
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
// various NSTextFieldCells
NSTextFieldCell *titleCell = [[NSTextFieldCell alloc] init];
....
// my custom NSButtonCell
MyButtonCell *warningCell = [[MyButtonCell alloc] init];
[warningCell setTarget:self];
[warningCell setAction:@selector(testButton:)];
[warningCell drawWithFrame:buttonRect inView:controlView];
}
Run Code Online (Sandbox Code Playgroud)
我坚持的问题是:在这个NSCell中使用该按钮(更确切地说:NSButtonCell)以正常工作的最佳/正确方法是什么?"工作"表示:触发指定的操作消息并在单击时显示备用图像.开箱即用,按钮在单击时不执行任何操作.
很难找到关于这个主题的信息/读物.我在网上找到的唯一帖子指出我要实施
- (BOOL)trackMouse:(NSEvent *)theEvent inRect:(NSRect)cellFrame ofView:(NSView *)controlView untilMouseUp:(BOOL)untilMouseUp;
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?实现trackMouse:在我的包含NSCell中?然后将事件转发给NSButtonCell?我本来期望NSButtonCell本身知道在点击它时该做什么(我看到trackMouse:方法更多的是在cunjunction,真正跟踪鼠标移动 - 而不是作为'标准'点击行为的训练轮).但是当它被包含在一个单元格本身时似乎不会这样做......似乎我还没有掌握自定义单元格的大图,但是;-)
如果有人能够根据自己的经验回答这个问题(或指向我的某些教程等),我会很高兴 - 告诉我我是否走在正确的轨道上.
托比,提前谢谢
我想根据我是否在调试模式下构建来有条件地排除/包含代码.
我可以像在C++中一样使用像#ifndef _DEBUG这样简单的东西吗?
我想要一些方法来使一个给定的单词变为粗体(列表框中每个项目的前两个字符),而不是其他任何东西,如下所示:
01车
02房
03市场
至于这三个,作为列表框控件中的项目,总是前两个字符,其余的不应该是粗体.
这样做有什么实际可行的方法吗?
数据:
请求:
private void lstMaster_DrawItem(object sender, DrawItemEventArgs e)
{
//TEST
e.DrawBackground();
Brush myBrush = Brushes.Black;
Pen pen = new Pen(myBrush);
e.Graphics.DrawRectangle(pen, 0, 0, 10, 10); //BREAKPOINT HERE
e.Graphics.DrawString("aaa" + lstMaster.Items[e.Index].ToString(),
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
Run Code Online (Sandbox Code Playgroud)
它只是保持相同,没有矩形,没有"AAA",或方形没有断点到达...