我正在编写一个基于TCustomControl的网格控件,所以我可以自己处理所有的结构,绘画和导航.我似乎无法弄清楚的是这个:
在我的构造函数中,我将ControlStyle设置为:
ControlStyle := ControlStyle + [csCaptureMouse, csClickEvents,
csDoubleClicks, csNeedsBorderPaint, csPannable];
Run Code Online (Sandbox Code Playgroud)
我的想法是,如果控件处理鼠标事件,我可以做像设置选择等事情.我注意到控件永远不会得到焦点.我碰巧在表单上有一个TComboBox,并且在创建表单时它显然是焦点.无论我在网格中点击多少次,焦点都会停留在组合框上.
这当然也会影响我对键盘事件的处理.
所以问题是,当你点击它时,如何确定焦点应转移到控件上?
我有一棵div树:
<div id="a" onclick="func">
<div id="b" onclick="func">
<div id="c" onclick="func">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当对div进行单击时,它会使其子项不可见 - 即单击"a"将使"b"和"c"变为不可见.
function func{
if ($(childId).hasClass("visible")){
$(childId).removeClass("visible");
$(childId).addClass("invisible");
}
Run Code Online (Sandbox Code Playgroud)
问题是:单击"b"将调用"a"的单击并使"b"和"c"不可见.如何使用jQuery禁用"a"的单击?
谢谢
是否有针对SharpDevelop的F#编译器(插件?)?我在我的上网本上使用SharpDevelop进行爱好开发,在f#上进行编程会很酷.
我知道有很多情况下最好多线程一个应用程序,但什么时候最好多线程一个.net web应用程序?
我有一个简单的bash脚本,它将一个进程的输出传递给另一个进程.即:.
dostuff | filterstuff
Run Code Online (Sandbox Code Playgroud)
碰巧在我的Linux系统上(如果重要的话,openSUSE,内核2.6.27),这两个进程都在一个核心上运行.但是,在不同核心上运行不同的进程是一种默认策略,在这种情况下不会触发.
系统的哪个组成部分负责,以及我应该如何利用多核功能?
请注意,2.6.30内核没有这样的问题.
澄清:遵循丹尼斯威廉姆森的建议,我确保使用顶级程序,管道进程确实总是运行在同一个处理器上.Linux调度程序,通常做得非常好,这次不做.
我认为bash中的某些内容会阻止操作系统执行此操作.问题是,我需要一个适用于多核和单核机器的便携式解决方案.Dennis Williamson提出的taskset
解决方案不适用于单核机器.目前我正在使用:,
dostuff | taskset -c 0 filterstuff
Run Code Online (Sandbox Code Playgroud)
但这似乎是一个肮脏的黑客.有人能提供更好的解决方案吗?
我很想通过Automator.app在Mac OS X Snow Leopard中创建上下文服务的能力.我想通过调用shell脚本来创建一些键盘可访问的快捷方式来操作文本片段.但是,Automator只建议bash,Perl,Python和Ruby(以及其他)允许这样做.但是,由于PHP还附带Mac OS(并且,老实说,它是我完全掌握的唯一脚本语言),我想知道为什么我不能运行PHP shell脚本.
我能依靠吗?
sqrt((float)a)*sqrt((float)a)==a
Run Code Online (Sandbox Code Playgroud)
要么
(int)sqrt((float)a)*(int)sqrt((float)a)==a
Run Code Online (Sandbox Code Playgroud)
检查一个数字是否是一个完美的正方形?为什么或者为什么不?
int a
是要判断的数字.我正在使用Visual Studio 2005.
编辑:感谢所有这些快速答案.我看到我不能依赖浮点型比较.(如果我如上所述,最后a
会被隐式地转换为浮动吗?)如果我这样做的话
(int)sqrt((float)a)*(int)sqrt((float)a) - a < e
Run Code Online (Sandbox Code Playgroud)
我应该多小才能获得这个e
价值?
编辑2:嘿,我们为什么不把比较部分放在一边,并决定是否(int)
有必要?正如我所看到的那样,对于正方形而言,差异可能很大; 但没有它,非正方形的差异可能很小.也许两者都不会.:-(
ListBox的行为是自动选择第一个项目,我该如何避免?
注意:我更喜欢用纯xaml做这个,如果你有任何代码隐藏的想法,那么请不要打扰自己.
这可能是一个简单的问题,但我似乎无法掌握它.
我在models.py中有两个简单的模型:服务和主机.Host.services与Service有m2m关系.换句话说,主机有多个服务,一个服务可以驻留在多个主机上; 一个基本的m2m.
models.py
class Service(models.Model):
servicename = models.CharField(max_length=50)
def __unicode__(self):
return self.servicename
class Admin:
pass
class Host(models.Model):
#...
hostname = models.CharField(max_length=200)
services = models.ManyToManyField(Service)
#...
def get_services(self):
return self.services.all()
def __unicode__(self):
return self.hostname
class Admin:
pass
Run Code Online (Sandbox Code Playgroud)
admin.py
from cmdb.hosts.models import Host
from django.contrib import admin
class HostAdmin(admin.ModelAdmin):
list_display = ('get_services',)
admin.site.register(Host, HostAdmin)
Run Code Online (Sandbox Code Playgroud)
现在,当我打开列出所有主机列的页面时,"service"列显示输出,如:
获得服务
[<Service: the_service-1>, <Service: the_service-2>]
代替:
服务
the_service-1
the_service-2等
我究竟做错了什么?感谢您阅读我的问题.
我需要重用客户端规定的DataAccess方法.此方法返回vanilla数据表.我想将这个数据表转换为我的Typed数据表.列数及其类型将匹配.异常消息"无法将类型为'System.Data.DataTable'的对象强制转换为''类型'MarketValueDataTable'." 非常清楚,但我该如何解决?
看看cast-a-base-type-to-a-derived类型,但看不出如何使它工作.
我无法使用datareader填充数据表,只能使用客户端的DataAccess方法.