这与所有其他问题不同. 我已经阻止Chrome在拖动时进入文本选择模式. (编辑:我只想锁定图标/外观,不限制位置或移动,仅限于mousedown和mouseup之间)我想避免的问题是Chrome在拖动时更改光标,到光标下的任何内容(即-i-beam同时在文本输入控制,手上同时超链接等).
IE和FireFox/Moz支持我在mousedown事件中调用的element.setCapture(),它将这些浏览器"锁定"到元素中,以便鼠标光标停留在该元素的光标上.非常好.Chrome不支持我所知道的功能或类似功能.
通过观察文档对象上的mousemove和mouseup事件而不是单击的元素,我仍然可以获得大部分的setCapture()行为,因为我可以跟踪在元素外部发生的鼠标事件,甚至在外部浏览器窗口.但是,我还剩下一个问题,Chrome中的鼠标光标变化了.
是否有可能在滚动div中有一个非滚动的iFrame,并且iFrame内的锚链接正常工作? iFrame中的锚点链接应滚动到iFrame内的点,我不需要/希望它们指向父页面上的元素.
这是我的jsFiddle,有一个简单的例子:
http://jsfiddle.net/shopguy/WjmHG/
和它的代码:
<div style="width: 100%; height: 300px; overflow: auto;">
<iframe style="width: 100%; height: 2000px;" src="http://www.hypergurl.com/anchors.html" scrolling="no"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)
我与我的示例中使用的hypergurl.com链接没有关联,这只是我能找到的第一个带有id/name语法链接的页面的例子.
如果您加载JSFiddle并单击iFrame中的"Jump to Bottom"链接,它什么都不做(使用FireFox 19.0.2进行测试).在使用各种页面进行测试时,它永远无法在FireFox中运行,在Chrome中,它有时会在第一次单击时起作用,但如果向上滚动并再次单击它则不起作用.在IE8中,它大部分时间都可以工作(滚动).
如果我让iFrame本身有滚动条,则滚动可以正常工作(删除scrolling ="no").这对我来说不是一个实用的解决方案,因为我有框架之外的内容,我想用它滚动.在我的真实代码中,我动态设置iFrame的高度以填充其内容,这样看起来更像是我页面上的内容.
有关我为什么需要这样做的其他信息:
我正在创建一个基于Web的电子邮件客户端,到目前为止,如果我在iframe中显示电子邮件的HTML正文,而不是尝试在我的页面内的表格单元格或div中显示,那么问题似乎最少.我想要这些类型的链接工作.我确实对内容有一些控制权,它来自我的服务器,我可以修改一些(但不想破解它太多).例如,我已经修改了所有要在新窗口中打开的链接(但不是以#开头的链接,因此这不是我的问题).
我知道GMail不使用iFrame,但是我的XFINITY(通过Comcast有线电视)基于网络的电子邮件客户端确实如此,他们设法让这些工作(但到目前为止还没有弄明白他们在做什么).
我试图解压缩使用Jean-loup Gailly在20世纪90年代编写的ZLIB库压缩的数据.我认为它是一个受欢迎的库(我看到很多程序都提供了它使用的zlib32.dll文件)所以我希望有人能够熟悉它来帮助我.我正在使用的是compress()函数,我从中读到了使用rfc-1951 DEFLATE格式.
这是我用来从流中读取一些压缩数据并解压缩的代码段:
InputStream is = new ByteArrayInputStream(buf);
//GZIPInputStream gzis = new GZIPInputStream(is);
InflaterInputStream iis = new InflaterInputStream(is);
byte[] buf2 = new byte[uncompressedDataLength];
iis.read(buf2);
Run Code Online (Sandbox Code Playgroud)
iis.read(buf2)函数抛出"数据格式错误"的内部异常.我也试过使用GZIPInputStream,但这也引发了同样的异常.
"buf"变量是byte []类型,我通过调试确认它与我的C程序从ZLIB compress()函数返回的内容相同(实际数据来自服务器上的TCP)."uncompressedDataLength"是C程序(服务器)也提供的未压缩数据的已知大小.
有没有人尝试使用这个库读/写数据,然后使用Java在Android上读/写相同的数据?
我确实在一些地方找到了一个"ZLIB的纯Java端口",如果我需要,我可以试试,但我宁愿使用内置/ OS功能,如果可能的话.
我看到90%的例子,包括MSDN使用这种语法:
ThreadPool.QueueUserWorkItem(new WaitCallback(MyCallback));
Run Code Online (Sandbox Code Playgroud)
其他10%使用:
ThreadPool.QueueUserWorkItem(MyCallback);
Run Code Online (Sandbox Code Playgroud)
在两种情况下,MyCallback都是静态函数.
编译器没有给出错误,代码似乎以任何方式工作.没有创建新的WaitCallback对象并直接传递函数会有一些危险吗?
我问,因为我试图在我的代码中找到一些错误,一旦我将其缩小,我将用更具体的问题解决,但这也是一般性问题,因为我一直很好奇并且找不到任何答案.我发现的最接近的是:
http://msdn.microsoft.com/en-us/library/4yd16hza%28v=vs.90%29.aspx
哪个州:
"Visual Basic用户可以省略WaitCallback构造函数,只需在将回调方法传递给QueueUserWorkItem时使用AddressOf运算符.Visual Basic会自动调用正确的委托构造函数."
...但实际上并没有说"C#用户必须使用构造函数",我也想知道原因 /细节.我正在使用.NET 3.5.
我是WPF的新手,并试图了解它可能会有多慢.我在Visual Studio 2010(.NET 4)中启动了一个新的WPF应用程序,并创建了这个XAML:
<Window x:Class="CalendarTest1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="800" Width="1000">
<WrapPanel>
<Calendar />
<Calendar />
<Calendar />
...repeats for a total of 25 calendar objects...
</WrapPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,无论是否在IDE中,窗口打开需要5秒钟.一旦打开,它会快速重绘(当我调整大小时),一切看起来都很活泼.
我的PC不是最快的:AMD双核2.3GHz,2GB RAM,XP 32位操作系统,板载视频.
我可以放置25个按钮,而不是日历,并在不到1秒的时间内加载.
我正在尝试在MS Outlook日历中创建类似日视图中的小月历,如下所示:

所以我想我可以使用WrapPanel并在调整大小时添加/删除Calendar控件.我可能不需要25,但即使有9或12它比我想象的慢(我有一个遗留的Win32应用程序,在不到1秒的时间内显示18个这样的日历).
我的问题是:
由于某种设计,日历控件是否会变慢 - 或者设计不好,或者只是设计不适合这种用途,还是因为它试图显示大量数据/控件/信息而变慢?
如果我去创建自己的控件的麻烦,假设我使用一个好的设计(一般的想法欢迎),它可以更快,或者这只是WPF的"典型"?
我可以做些什么来使这个用法更快地使默认的日历控件?
我正在使用Eclipse构建一个Android应用程序.如果我有一个包含多个PNG文件的Drawable文件夹,那么Eclipse中的UI编辑器无法加载我放在ImageButtons上的图像.我无法转换,无法解决日志中的@drawable错误,按钮只在编辑器中显示为空白.如果我在模拟器上运行应用程序,它可以正常工作.
如果我将我的单个Drawable文件夹复制到Eclipse为新项目创建的3个默认文件夹(我认为它们已命名,Drawable-hdpi,Drawable-mdpi等)......那么Eclipse工作正常,仿真器也是如此.如果我删除除中型DPI文件夹之外的所有文件夹,Eclipse工作正常,但当我尝试加载使用任何资源的活动时,模拟器(我的应用程序实际上)崩溃了.
根据我的理解,任何上述组合都应该起作用(可能只是一些难看的缩放图像).最终我确实计划找出哪些位图看起来最差并创建了多个版本的那些,但是对于我项目的这个阶段,我宁愿只有一个每个位图并让操作系统扩展它们.这样做最好的选择是什么?
最糟糕的情况我只是让Eclipse IDE抱怨而不是在设计视图中显示我的图像 - 无论如何我在XML源视图中工作很多.
根据MSDN:
在Windows 8中,内置拼写检查以编辑控件.
好吧,我在我的设置中启用了选项(突出显示和自动更正),我在Notepad.exe或我自己的旧版Win32应用程序中没有看到这个.
我需要做什么才能为我的应用程序启用(希望它就这么简单)?我确实尝试按照文章中的信息阅读并阅读了很多参考文献,但它确实不太清楚,似乎是为了创建自定义提供程序/解决方案,但我对任何"内置"行为都很满意.
我是iOS/MacOS编程的新手,没有找到我理解的任何例子.我想这只是几行代码,所以很抱歉,如果这已经涵盖了,但对于我的生活,我找不到它.
我正在使用CFStreamCreatePairWithSocketToHost来创建输入/输出流.我只是想得到本地端点信息(特别是IP地址,真的不关心端口).我已经从我的服务器获取公共IP信息,但出于安全/日志记录的原因,我也需要本地地址.
这是在iOS上,而不是MacOS,如果它很重要.
我想在 MS Access 2003 中创建一个表单,让用户从任何现有查询中进行选择,然后让它在表单内显示结果(作为数据表视图中的子表单)。然后,用户将能够选择一个或多个记录,并单击父表单上的按钮以根据选择执行某些操作。我希望它能够处理任何查询,只有很少的限制,并显示查询的完整结果(所有列)。我可能有的唯一要求是它包含某些操作的某些字段。例如,如果我有一个“发送电子邮件”操作,则查询将需要一个名为“电子邮件”的字段,或者可能是“收件人”和“主题”。
在运行时更改 DataSheet 子表单的数据源不是问题,我在使用 VBA 之前已经这样做了。让显示的列发生变化是问题所在。
在 .NET WinForms 应用程序中,这可以通过 GridView 控件上的“自动生成列”来完成,或者直接在代码中使用 GridView.Columns 集合。在 VBA 中,我看不到从数据表视图中添加/删除列的方法。我也没有看到一种根据查询自动生成它们的方法。看起来列是由放置在表单上(在表单视图中)的控件控制的,虽然可以使用 VBA 添加/删除控件,但表单必须放置在设计视图中,并且需要对数据库的独占访问权限 - - 听起来很混乱,我想避免独占访问部分。
我错过了什么吗?是否有捷径可寻?
使用 Influx DB v0.9,假设我有这个简单的查询:
select count(distinct("id")) FROM "main" WHERE time > now() - 30m and time < now() GROUP BY time(1m)
Run Code Online (Sandbox Code Playgroud)
给出的结果如下:
08:00 5
08:01 10
08:02 5
08:03 10
08:04 5
Run Code Online (Sandbox Code Playgroud)
现在我想要一个查询,该查询可以生成 5 分钟内这些值的平均值的点。因此,这些点现在相距 5 分钟,而不是 1 分钟,而是 1 分钟值的平均值。因此,上述 5 点为 1 点,其结果值为 (5+10+5+10+5)/5。
为了清楚起见,这不会产生我想要的结果,因为这只是一个计数,而我想要的是平均值。
select count(distinct("id")) FROM "main" WHERE time > now() - 30m and time < now() GROUP BY time(5m)
Run Code Online (Sandbox Code Playgroud)
这不起作用(给出错误):
select mean(distinct("id")) FROM "main" WHERE time > now() - 30m and time < now() GROUP …Run Code Online (Sandbox Code Playgroud)