Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование (VB,C#,ASP,.NET): новости, советы, примеры
Выпуск # 731Очередной выпуск рассылки! За последнее время на сайте произошло столько всего, столько всего, что все просто не уместилось в этот выпуск! Но ничего, ведь вы всегда можете ознакомиться со всеми обновлениями непосредственно посетив сайт. Кстати, помимо изменения в содержании Kbyte.Ru, появлении новых интересных материалов, проект постоянно совершенствуется технически, и вы можете принять в этом непосредственное участие, присылая свои идеи и предложения. Содержание выпускаЧитайте в этом выпуске: Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.Форумы Kbyte.RuНа форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки. Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий. Задать свой вопрос прямо сейчас Как настроить cisco 881 @iskandar 11.06.2013 20:06 AeroGlass in WPF @Shark1 10.06.2013 18:55 Возникла проблемка с AeroGlass в WPF окне. При чем точно такой-же код только на C# работает, а вот на VB.Net не хочет. Ниже приведу код. Обрабатываю
ошибку - не выскакивает ... Если раскоментировать строчку "MessageBox.Show(DwmIsCompositionEnabled, Nothing)" то можно увидеть, что MARGINS меняется, но при закрытии сообщения окно снова черное ... Буду признателен за подсказку ... Код : Imports System.Runtime.InteropServices Imports System.Windows Imports System.Windows.Interop Class MainWindow Public Const DWM_BB_ENABLE As UInteger = &H1 Public Const DWM_BB_BLURREGION As UInteger = &H2 Public Const DWM_BB_TRANSITIONONMAXIMIZED As UInteger = &H4 Public Const WM_DWMCOLORIZATIONCOLORCHANGED As Integer = 800 <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmEnableBlurBehindWindow(ByVal hWnd As IntPtr, ByVal pBlurBehind As DWM_BLURBEHIND) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByVal pMargins As MARGINS) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Function DwmIsCompositionEnabled() As Boolean End Function <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmEnableComposition(ByVal bEnable As Boolean) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmGetColorizationColor(ByVal pcrColorization As Integer, <MarshalAs(UnmanagedType.Bool)> ByVal pfOpaqueBlend As Boolean) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Function DwmRegisterThumbnail(ByVal dest As IntPtr, ByVal source As IntPtr) As IntPtr End Function <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmUnregisterThumbnail(ByVal hThumbnail As IntPtr) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmUpdateThumbnailProperties(ByVal hThumbnail As IntPtr, ByVal props As DWM_THUMBNAIL_PROPERTIES) End Sub <DllImport("dwmapi.dll", PreserveSig:=False)> _ Public Shared Sub DwmQueryThumbnailSourceSize(ByVal hThumbnail As IntPtr, ByVal size As Size) End Sub <StructLayout(LayoutKind.Sequential)> _ Public Class DWM_THUMBNAIL_PROPERTIES Public dwFlags As UInteger Public rcDestination As RECT Public rcSource As RECT Public opacity As Byte <MarshalAs(UnmanagedType.Bool)> _ Public fVisible As Boolean <MarshalAs(UnmanagedType.Bool)> _ Public fSourceClientAreaOnly As Boolean Public Const DWM_TNP_RECTDESTINATION As UInteger = &H1 Public Const DWM_TNP_RECTSOURCE As UInteger = &H2 Public Const DWM_TNP_OPACITY As UInteger = &H4 Public Const DWM_TNP_VISIBLE As UInteger = &H8 Public Const DWM_TNP_SOURCECLIENTAREAONLY As UInteger = &H10 End Class <StructLayout(LayoutKind.Sequential)> _ Public Class MARGINS Public cxLeftWidth As Integer, cxRightWidth As Integer, cyTopHeight As Integer, cyBottomHeight As Integer Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer) cxLeftWidth = left cyTopHeight = top cxRightWidth = right cyBottomHeight = bottom End Sub End Class <StructLayout(LayoutKind.Sequential)> _ Public Class DWM_BLURBEHIND Public dwFlags As UInteger <MarshalAs(UnmanagedType.Bool)> _ Public fEnable As Boolean Public hRegionBlur As IntPtr <MarshalAs(UnmanagedType.Bool)> _ Public fTransitionOnMaximized As Boolean End Class <StructLayout(LayoutKind.Sequential)> _ Public Structure RECT Public left As Integer, top As Integer, right As Integer, bottom As Integer Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer) Me.left = left Me.top = top Me.right = right Me.bottom = bottom End Sub End Structure 'Protected Overloads Sub WndProc(ByRef msg As MessageBoxResult) ' Select Case msg ' Case WM_DWMCOLORIZATIONCOLORCHANGED ' Dim currColor As UInteger = CUInt(msg) ' Dim opacityblend As Boolean = (msg <> 0) ' Exit Select ' End Select 'End Sub 'Private Shared Function GetWindowHandle(ByVal window As Window) As IntPtr ' Return (New WindowInteropHelper(window)).Handle 'End Function Private Overloads Function WndProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef handled As Boolean) As IntPtr If msg = WM_DWMCOLORIZATIONCOLORCHANGED Then End If Return IntPtr.Zero End Function Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded DwmEnableComposition(True) HwndSource.FromHwnd(New Interop.WindowInteropHelper(Me).Handle).AddHook(AddressOf WndProc) If DwmIsCompositionEnabled() Then Try DwmExtendFrameIntoClientArea(New Interop.WindowInteropHelper(Me).Handle, New MARGINS(-1, -1, -1, -1)) Catch ex As Exception MessageBox.Show(ex.Message, ex.InnerException.ToString) End Try ''Приостанавливаю и вывожу сообщение о DwmIsCompositionEnabled и теперь видно, что эффект AeroGlass во всем окне изменил MARGINS 'MessageBox.Show(DwmIsCompositionEnabled, Nothing) End If End Sub End Class Скриншот : Ответ #1 @Алексей Немиро 10.06.2013 23:20 На твои вопросы кроме тебя, вряд ли кто-нибудь сможет ответить :) Если ты выводишь в MsgBox значение функции, то возможно дело в этом. Можно попробовать сделать переменную, передать ей значение из функции и показать значение переменной в MsgBox. Ответ #2 @Shark1 10.06.2013 23:32 Спасибо, буду думать ... Ответ #3 @Shark1
11.06.2013 00:45 Тему можно закрывать. Кому интересно решение, то вот готовый класс: Imports System.Windows.Interop Imports System.Collections.Generic Imports System.Runtime.InteropServices Public Class Aero <StructLayout(LayoutKind.Sequential)> Public Structure Margins Public cxLeftWidth As Integer Public cxRightWidth As Integer Public cyTopHeight As Integer Public cyBottomHeight As Integer End Structure Public Shared Function GetMargins(ByVal windowHandle As IntPtr, ByVal left As Integer, ByVal right As Integer, ByVal top As Integer, ByVal bottom As Integer) As Margins Dim desktop As System.Drawing.Graphics = System.Drawing.Graphics.FromHwnd(windowHandle) Dim DesktopDpiX As Single = desktop.DpiX Dim DesktopDpiY As Single = desktop.DpiY Dim margins As New Margins() margins.cxLeftWidth = Convert.ToInt32(left * (DesktopDpiX / 96)) margins.cxRightWidth = Convert.ToInt32(right * (DesktopDpiX / 96)) margins.cyTopHeight = Convert.ToInt32(top * (DesktopDpiX / 96)) margins.cyBottomHeight = Convert.ToInt32(right * (DesktopDpiX / 96)) Return margins End Function <DllImport("DwmApi.dll")> Public Shared Function DwmExtendFrameIntoClientArea(ByVal hwnd As IntPtr, ByRef pMarInset As Margins) As Integer End Function Public Shared Sub Glass(ByVal win As Window, ByVal left As Integer, ByVal right As Integer, ByVal top As Integer, ByVal bottom As Integer) Dim windowInterop As New WindowInteropHelper(win) Dim windowHandle As IntPtr = windowInterop.Handle Dim mainWindowSrc As HwndSource = HwndSource.FromHwnd(windowHandle) mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent Dim margins As Margins = GetMargins(windowHandle, left, right, top, bottom) Dim returnVal As Integer = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, margins) If returnVal < 0 Then Throw New NotSupportedException("Операция завершилась неудачно") End If End Sub End Class Применение : Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded If Environment.OSVersion.Version.Major >= 6 Then Aero.Glass(Me, -1, -1, -1, -1) End If End Sub Всем спасибо тема закрыта ... Test-Graphica @Akiva 09.06.2013 19:56 Ответ #1 @Алексей Немиро 10.06.2013 11:05 Но не сумел сделать чтоб сохранить, нарисованное.А в чем именно проблема? Image.Save("C:\путь к файлу.png") Это будет моя глобальная тема, вообщем как создать свой стиль для формы Windows, нечто подобное что находится в программе "Aeonsofts Theme Manager" С чего начать и как? Ответ #1 @Akiva
09.06.2013 21:48 Crash666, B Microsoft Visual Studio 2010(2012) имеется приложение WPF. Может это будет Вам в помощь? Ответ #2 @Crash666 09.06.2013 21:50 Akiva Посмотрите
темы ниже и вы поймёте что они пока мне не подходят... Ответ #3 @Алексей Немиро 10.06.2013 11:14 нечто подобное что находится в программе "Aeonsofts Theme Manager"Не смотрел, но обычно нестандартный интерфейс рисуется руками. Ответ #4 @Crash666 11.06.2013 11:47 А где находится панель управления
Экран? Ответ #5 @Алексей Немиро 11.06.2013 12:19 А где находится панель управления Экран?В Windows 7? Правой кнопкой по рабочему столу -> Персонализация. Добавить свой ответ в эту тему · В теме есть еще 29 ответов. Смотреть все ответы. Подсоединение к базе
@capetownn 07.06.2013 14:39 Среда Visual Basic STUDIO’2010 Professional Строка кода для подключения к базе Access имеет вид: Public Con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " + " Data Source=E:\CD_MY_new\DATA\My_Pension.mdb") ' Переменная для подключения базы Аналогично подсоединению к базе Access My_Pension.mdb Пытаюсь подсоединиться к к базе типа Microsoft SQL Server'2008 My_Pension_MSSQLS.mdf, находящейся в каталоге E:\CD_MY_new\DATA База создана в среде STUDIO'2010 используя обозреватель серверов, Т.е. всё находится на одном компьютере, который не подсоединён ни к сети, ни к интернету. Показываю попытки: Module Module1 Public ConSQLServer As New OleDb.OleDbConnection("Data Source=.\sqlexpress; Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;") Public ConSQLServer As New OleDb.OleDbConnection("Data Source=.\sqlexpress; Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=SSPI;") Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=SSPI;") Не удалось прикрепить базу данных, которой автоматически было присвоено имя, к файлу E:\CD_MY_new\DATA\My_Pension_MSSQLS. База данных с таким именем уже существует, указанный файл нельзя открыть, или он находится на общем ресурсе UNC. Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;") Не удалось прикрепить базу данных, которой автоматически было присвоено имя, к файлу E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf. База данных с таким именем уже существует, указанный файл нельзя открыть, или он находится на общем ресурсе UNC. Не удалось открыть физический файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, т ак как этот файл занят другим процессом.)". Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;") Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf;Database=My_Pension_MSSQLS.mdf;Trusted_Connection=Yes;") Не удалось присоединить файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf" в качестве базы данных "My_Pension_MSSQLS.mdf". Не удалось открыть физический файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=True;User Instance=True") Сообщение об ошибке не предусмотрено, код результата: DB_E_ERRORSOCCURRED(0x80040E21). Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=True;User Instance=True") Инициализатор типа "My_Pension_VB_NET.Module1" выдал исключение. Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=True;User Instance=True") Инициализатор типа "My_Pension_VB_NET.Module1" выдал исключение. указывает на строку DT.Clear() Public SqlCom_dbf As OleDb.OleDbCommand ' Переменная для Sql запросов Public DT_dbf As New Data.DataTable ' Таблица для хранения результатов запроса End Module Sub LoadAll_SQL() 'Процедура чтения всей таблицы [Pensioner] из базы DT.Clear() 'Очищаем таблицу DT SqlCom = New OleDb.OleDbCommand("SELECT * FROM [Pensioner]", ConSQLServer) ConSQLServer.Open() End Sub Ответ #1 @Александр 07.06.2013 17:12 Попробуйте "providerName="System.Data.SqlClient" connectionString="Data Source=SQL2008;User ID=sa;Password=sa" Исходные кодыWPF Window StyleVisual Basic .NET: Интерфейс @Shark1 11.06.2013 23:44 Пример стиля для WPF окна.К данном исходному коду прилагаются файлы примеров. Скачать. Creation and processing of hyperlinks in WPFVisual Basic .NET: Общие вопросы @Shark1 08.06.2013 01:35 Пример создания и обработки гиперссылок в Windows Presentation Foundation.К данном исходному коду прилагаются файлы примеров. Скачать. Вакансии в ITПрограммист 1с-битрикс + phpРоссия, Чебоксары | Работа в офисе | 38 100,00 KBP Веб-дизайнер, дизайнер сайтовРоссия, Чебоксары | Работа в офисе | 38 100,00 KBP ПрограммистРоссия, Тюмень | Работа в офисе Программист 1СРоссия, Казань | Удаленная работа | 40 000,00 KBP Программист PHPРоссия, Новосибирск | Работа в офисе | 30 000,00
KBP Инженер-программистРоссия, Новосибирск | Работа в офисе | 23 000,00 KBP Программист 1СРоссия, Самара | Работа в офисе Главный программистРоссия, Ростов-на-Дону | Работа в офисе Веб-программистРоссия, Ростов-на-Дону | Работа в офисе | 20 000,00 KBP Программист, системный администраторРоссия, Ростов-на-Дону | Работа в офисе | 25 000,00 KBP Все вакансии в IT · Новости мира ITNokia отгрузит последнюю партию смартфонов на SymbianКомпания Nokia летом 2013 года произведет последние поставки смартфонов на базе операционной системы Symbian. Впоследствии компания будет поставлять только аппараты на Windows Phone. При этом в ряде стран на складах Nokia еще остались нераспроданные запасы смартфонов на Symbian, которые, по всей видимости, будут распродавать с уценкой. 13.06.2013 11:29 · Категория: Железо · Источник: Lenta.ru Galaxy S4 превратили в камерофонКомпания Samsung анонсировала аппарат Galaxy S4 Zoom. Он представляет собой гибрид смартфона и фотоаппарата. Устройство снабжено выдвижным объективом с десятикратным «зумом», 16-мегапиксельной матрицей, двухъядерным процессором и 4,3-дюймовым экраном. Аппарат работает на Android.
13.06.2013 11:29 · Категория: Железо · Источник: Lenta.ru Intel анонсировала новые копроративные SSD-накопителиКорпорация Intel представила новую линейку SSD-накопителей серии DC S3500 для использования в серверах и критически важных системах хранения данных в датацентрах. В Intel говорят, что новинки ориентированы на приложения, предъявляющие высокие требования к скорости доступа к информации.
Новые накопители базируются на флеш-памяти с технологической нормой в 20 нанометров и предлагают скорость доступа на чтение в 500 Мб/сек, записи - 450 Мб/сек. Также SSD-накопители предлагают скорость доступа в 75 000 случайных операций ввода-вывода. Работают накопители по стандартизированному интерфейсу SATA 6 Гб/сек. 12.06.2013 10:57 · Категория: Железо · Источник: CyberSecurity.ru
Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей: Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter. Если вы занимаетесь программированием, то наверняка вам пригодятся хитрые инструменты. Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT. |
В избранное | ||